@basic-ui/material 1.0.0-alpha.45 → 1.0.0-alpha.47
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 +3 -3
- package/build/cjs/index.js +64 -24
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Alert/Alert.d.ts +6 -6
- package/build/esm/Alert/index.d.ts +1 -1
- package/build/esm/Alert/index.js.map +1 -1
- package/build/esm/AppBar/AppBar.d.ts +9 -9
- package/build/esm/AppBar/AppBar.js.map +1 -1
- package/build/esm/AppBar/AppBarButton.d.ts +4 -4
- package/build/esm/AppBar/AppBarButton.js.map +1 -1
- package/build/esm/AppBar/context.d.ts +5 -5
- package/build/esm/AppBar/context.js.map +1 -1
- package/build/esm/AppBar/index.d.ts +3 -3
- package/build/esm/AppBar/index.js.map +1 -1
- package/build/esm/Badge/Badge.d.ts +6 -6
- package/build/esm/Badge/Badge.js.map +1 -1
- package/build/esm/Badge/index.d.ts +1 -1
- package/build/esm/Badge/index.js.map +1 -1
- package/build/esm/BaseLine/BaseLine.d.ts +1 -1
- package/build/esm/BaseLine/BaseLine.js +1 -1
- package/build/esm/BaseLine/BaseLine.js.map +1 -1
- package/build/esm/BaseLine/index.d.ts +1 -1
- package/build/esm/BaseLine/index.js.map +1 -1
- package/build/esm/BottomSheet/BottomSheet.d.ts +7 -7
- package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
- package/build/esm/BottomSheet/BottomSheetSurface.d.ts +5 -5
- package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
- package/build/esm/BottomSheet/index.d.ts +1 -1
- package/build/esm/BottomSheet/index.js.map +1 -1
- package/build/esm/Box/Box.d.ts +23 -23
- package/build/esm/Box/Box.js +1 -1
- package/build/esm/Box/Box.js.map +1 -1
- package/build/esm/Box/index.d.ts +1 -1
- package/build/esm/Box/index.js.map +1 -1
- package/build/esm/Button/BaseButton.d.ts +7 -7
- package/build/esm/Button/Button.d.ts +13 -13
- package/build/esm/Button/ButtonGroup.d.ts +5 -5
- package/build/esm/Button/FilledButton.d.ts +11 -11
- package/build/esm/Button/FilledButton.js +17 -2
- package/build/esm/Button/FilledButton.js.map +1 -1
- package/build/esm/Button/FloatingActionButton.d.ts +7 -7
- package/build/esm/Button/FloatingActionButton.js.map +1 -1
- package/build/esm/Button/IconButton.d.ts +8 -8
- package/build/esm/Button/OutlinedButton.d.ts +4 -4
- package/build/esm/Button/OutlinedButton.js +17 -2
- package/build/esm/Button/OutlinedButton.js.map +1 -1
- package/build/esm/Button/TransparentButton.d.ts +11 -11
- package/build/esm/Button/TransparentButton.js +17 -2
- package/build/esm/Button/TransparentButton.js.map +1 -1
- package/build/esm/Button/context.d.ts +8 -8
- package/build/esm/Button/context.js.map +1 -1
- package/build/esm/Button/index.d.ts +2 -2
- package/build/esm/Button/index.js.map +1 -1
- package/build/esm/CheckBox/CheckBox.d.ts +13 -13
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/CheckBox/CheckBoxIcon.d.ts +10 -10
- package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
- package/build/esm/CheckBox/CheckPath.d.ts +3 -3
- package/build/esm/CheckBox/CheckPath.js +1 -1
- package/build/esm/CheckBox/CheckPath.js.map +1 -1
- package/build/esm/CheckBox/IndeterminatePath.d.ts +3 -3
- package/build/esm/CheckBox/IndeterminatePath.js +1 -1
- package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
- package/build/esm/CheckBox/index.d.ts +1 -1
- package/build/esm/CheckBox/index.js.map +1 -1
- package/build/esm/Chip/ButtonChip.d.ts +9 -9
- package/build/esm/Chip/ButtonChip.js.map +1 -1
- package/build/esm/Chip/Chip.d.ts +4 -4
- package/build/esm/Chip/Chip.js.map +1 -1
- package/build/esm/Chip/ChipBase.d.ts +10 -10
- package/build/esm/Chip/ChipBase.js.map +1 -1
- package/build/esm/Chip/ChoiceChip.d.ts +10 -10
- package/build/esm/Chip/ChoiceChip.js.map +1 -1
- package/build/esm/Chip/index.d.ts +2 -2
- package/build/esm/Chip/index.js.map +1 -1
- package/build/esm/Combobox/Combobox.d.ts +23 -23
- package/build/esm/Combobox/Combobox.js.map +1 -1
- package/build/esm/Combobox/index.d.ts +1 -1
- package/build/esm/Combobox/index.js.map +1 -1
- package/build/esm/Dialog/Dialog.d.ts +20 -20
- package/build/esm/Dialog/Dialog.js.map +1 -1
- package/build/esm/Dialog/DialogBackdrop.d.ts +7 -7
- package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
- package/build/esm/Dialog/DialogContainer.d.ts +4 -4
- package/build/esm/Dialog/DialogContainer.js.map +1 -1
- package/build/esm/Dialog/DialogSurface.d.ts +7 -7
- package/build/esm/Dialog/DialogSurface.js.map +1 -1
- package/build/esm/Dialog/Scrim.d.ts +4 -4
- package/build/esm/Dialog/Scrim.js.map +1 -1
- package/build/esm/Dialog/index.d.ts +2 -2
- package/build/esm/Dialog/index.js.map +1 -1
- package/build/esm/Dialog/useDialogAnimation.d.ts +824 -824
- package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
- package/build/esm/Divider/Divider.d.ts +7 -7
- package/build/esm/Divider/Divider.js.map +1 -1
- package/build/esm/Divider/index.d.ts +1 -1
- package/build/esm/Divider/index.js.map +1 -1
- package/build/esm/FloatingLabel/FloatingLabel.d.ts +13 -13
- package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
- package/build/esm/FloatingLabel/index.d.ts +1 -1
- package/build/esm/FloatingLabel/index.js.map +1 -1
- package/build/esm/LineRipple/LineRipple.d.ts +9 -9
- package/build/esm/LineRipple/LineRipple.js.map +1 -1
- package/build/esm/LineRipple/index.d.ts +1 -1
- package/build/esm/LineRipple/index.js.map +1 -1
- package/build/esm/Link/Link.d.ts +9 -9
- package/build/esm/Link/Link.js.map +1 -1
- package/build/esm/Link/index.d.ts +1 -1
- package/build/esm/Link/index.js.map +1 -1
- package/build/esm/List/List.d.ts +8 -8
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/index.d.ts +1 -1
- package/build/esm/List/index.js.map +1 -1
- package/build/esm/ListItem/ListItem.d.ts +14 -14
- package/build/esm/ListItem/ListItem.js.map +1 -1
- package/build/esm/ListItem/ListItemText.d.ts +7 -7
- package/build/esm/ListItem/ListItemText.js.map +1 -1
- package/build/esm/ListItem/index.d.ts +2 -2
- package/build/esm/ListItem/index.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +18 -18
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/animation.d.ts +2 -2
- package/build/esm/Menu/animation.js.map +1 -1
- package/build/esm/Menu/index.d.ts +2 -2
- package/build/esm/Menu/index.js.map +1 -1
- package/build/esm/NavRail/NavRailItem.d.ts +15 -15
- package/build/esm/NavRail/NavRailItem.js.map +1 -1
- package/build/esm/NavRail/icons/test-icons.d.ts +4 -4
- package/build/esm/NavRail/icons/test-icons.js.map +1 -1
- package/build/esm/NavRail/index.d.ts +1 -1
- package/build/esm/NavRail/index.js.map +1 -1
- package/build/esm/NotchedOutline/NotchedOutline.d.ts +14 -14
- package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
- package/build/esm/NotchedOutline/context.d.ts +6 -6
- package/build/esm/NotchedOutline/context.js.map +1 -1
- package/build/esm/NotchedOutline/index.d.ts +1 -1
- package/build/esm/NotchedOutline/index.js.map +1 -1
- package/build/esm/NotchedOutline/styledComponents.d.ts +575 -575
- package/build/esm/NotchedOutline/styledComponents.js +1 -1
- package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
- package/build/esm/Paper/Paper.d.ts +11 -11
- package/build/esm/Paper/Paper.js.map +1 -1
- package/build/esm/Paper/index.d.ts +1 -1
- package/build/esm/Paper/index.js.map +1 -1
- package/build/esm/Popover/Popover.d.ts +14 -14
- package/build/esm/Popover/PopoverContainer.d.ts +4 -4
- package/build/esm/Popover/PopoverSurface.d.ts +5 -5
- package/build/esm/Popover/PopoverSurface.js.map +1 -1
- package/build/esm/Popover/index.d.ts +1 -1
- package/build/esm/Popover/index.js.map +1 -1
- package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +8 -8
- package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
- package/build/esm/ProgressSpinner/index.d.ts +1 -1
- package/build/esm/ProgressSpinner/index.js.map +1 -1
- package/build/esm/RadioButton/RadioButton.d.ts +4 -4
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioButtonIcon.d.ts +6 -6
- package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +5 -5
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/index.d.ts +2 -2
- package/build/esm/RadioButton/index.js.map +1 -1
- package/build/esm/Ripple/Ripple.d.ts +11 -11
- package/build/esm/Ripple/Ripple.js +1 -1
- package/build/esm/Ripple/Ripple.js.map +1 -1
- package/build/esm/Ripple/RippleBox.d.ts +5 -5
- package/build/esm/Ripple/RippleBox.js.map +1 -1
- package/build/esm/Ripple/constants.d.ts +7 -7
- package/build/esm/Ripple/constants.js.map +1 -1
- package/build/esm/Ripple/index.d.ts +5 -5
- package/build/esm/Ripple/index.js.map +1 -1
- package/build/esm/Ripple/keyframes.d.ts +4 -4
- package/build/esm/Ripple/keyframes.js.map +1 -1
- package/build/esm/Ripple/useRipple.d.ts +14 -14
- package/build/esm/Ripple/useRipple.js.map +1 -1
- package/build/esm/Ripple/useRippleHandlers.d.ts +8 -8
- package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
- package/build/esm/Ripple/useRippleSurface.d.ts +787 -787
- package/build/esm/Ripple/useRippleSurface.js.map +1 -1
- package/build/esm/Select/CustomContainerExample.d.ts +3 -3
- package/build/esm/Select/CustomContainerExample.js.map +1 -1
- package/build/esm/Select/Select.d.ts +32 -32
- package/build/esm/Select/Select.js.map +1 -1
- package/build/esm/Select/SelectIcon.d.ts +6 -6
- package/build/esm/Select/SelectIcon.js.map +1 -1
- package/build/esm/Select/context.d.ts +9 -9
- package/build/esm/Select/context.js.map +1 -1
- package/build/esm/Select/defaultRender.d.ts +3 -3
- package/build/esm/Select/defaultRender.js.map +1 -1
- package/build/esm/Select/index.d.ts +1 -1
- package/build/esm/Select/index.js.map +1 -1
- package/build/esm/Select/styledComponents.d.ts +15 -15
- package/build/esm/Select/styledComponents.js.map +1 -1
- package/build/esm/SelectItem/SelectItem.d.ts +11 -11
- package/build/esm/SelectItem/SelectItem.js.map +1 -1
- package/build/esm/SelectItem/index.d.ts +1 -1
- package/build/esm/SelectItem/index.js.map +1 -1
- package/build/esm/SelectionControl/SelectionControlLabel.d.ts +7 -7
- package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
- package/build/esm/SelectionControl/SelectionControlText.d.ts +8 -8
- package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
- package/build/esm/SelectionControl/index.d.ts +2 -2
- package/build/esm/SelectionControl/index.js.map +1 -1
- package/build/esm/Skeleton/DelayAppearance.d.ts +13 -13
- package/build/esm/Skeleton/DelayAppearance.js +3 -3
- package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
- package/build/esm/Skeleton/Skeleton.d.ts +9 -9
- package/build/esm/Skeleton/Skeleton.js.map +1 -1
- package/build/esm/Skeleton/animation.d.ts +8 -8
- package/build/esm/Skeleton/animation.js.map +1 -1
- package/build/esm/Skeleton/index.d.ts +2 -2
- package/build/esm/Skeleton/index.js.map +1 -1
- package/build/esm/Slider/Slider.d.ts +17 -17
- package/build/esm/Slider/Slider.js.map +1 -1
- package/build/esm/Slider/index.d.ts +1 -1
- package/build/esm/Slider/index.js.map +1 -1
- package/build/esm/Snackbar/Snackbar.d.ts +8 -8
- package/build/esm/Snackbar/Stack.d.ts +31 -31
- package/build/esm/Snackbar/index.d.ts +3 -3
- package/build/esm/Snackbar/useSnackbarAnimation.d.ts +6 -6
- package/build/esm/Switch/Switch.d.ts +13 -13
- package/build/esm/Switch/Switch.js.map +1 -1
- package/build/esm/Switch/index.d.ts +1 -1
- package/build/esm/Switch/index.js.map +1 -1
- package/build/esm/Switch/styledComponents.d.ts +13 -13
- package/build/esm/Switch/styledComponents.js.map +1 -1
- package/build/esm/Tab/Tab.d.ts +5 -5
- package/build/esm/Tab/Tab.js.map +1 -1
- package/build/esm/Tab/TabList.d.ts +10 -10
- package/build/esm/Tab/TabList.js.map +1 -1
- package/build/esm/Tab/TabPanel.d.ts +5 -5
- package/build/esm/Tab/TabPanel.js.map +1 -1
- package/build/esm/Tab/TabPanels.d.ts +4 -4
- package/build/esm/Tab/TabPanels.js.map +1 -1
- package/build/esm/Tab/Tabs.d.ts +4 -4
- package/build/esm/Tab/Tabs.js.map +1 -1
- package/build/esm/Tab/context.d.ts +9 -9
- package/build/esm/Tab/context.js.map +1 -1
- package/build/esm/Tab/index.d.ts +5 -5
- package/build/esm/Tab/index.js.map +1 -1
- package/build/esm/TabIndicator/TabIndicator.d.ts +9 -9
- package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
- package/build/esm/TabIndicator/context.d.ts +6 -6
- package/build/esm/TabIndicator/context.js.map +1 -1
- package/build/esm/TabIndicator/index.d.ts +2 -2
- package/build/esm/TabIndicator/index.js.map +1 -1
- package/build/esm/Table/Table.d.ts +4 -4
- package/build/esm/Table/Table.js +2 -9
- package/build/esm/Table/Table.js.map +1 -1
- package/build/esm/Table/TableBody.d.ts +4 -4
- package/build/esm/Table/TableCell.d.ts +4 -4
- package/build/esm/Table/TableCell.js +4 -2
- package/build/esm/Table/TableCell.js.map +1 -1
- package/build/esm/Table/TableHead.d.ts +4 -4
- package/build/esm/Table/TableHead.js +1 -3
- package/build/esm/Table/TableHead.js.map +1 -1
- package/build/esm/Table/TableRow.d.ts +4 -4
- package/build/esm/Table/context.d.ts +3 -3
- package/build/esm/Table/context.js.map +1 -1
- package/build/esm/Table/index.d.ts +5 -5
- package/build/esm/Table/index.js.map +1 -1
- package/build/esm/Text/LoremIpsum.d.ts +4 -4
- package/build/esm/Text/LoremIpsum.js.map +1 -1
- package/build/esm/Text/Text.d.ts +11 -11
- package/build/esm/Text/Text.js +2 -2
- package/build/esm/Text/Text.js.map +1 -1
- package/build/esm/Text/index.d.ts +1 -1
- package/build/esm/Text/index.js.map +1 -1
- package/build/esm/TextField/FilledContainer.d.ts +18 -18
- package/build/esm/TextField/FilledContainer.js.map +1 -1
- package/build/esm/TextField/HelperText.d.ts +10 -10
- package/build/esm/TextField/HelperText.js.map +1 -1
- package/build/esm/TextField/IconContainer.d.ts +5 -5
- package/build/esm/TextField/IconContainer.js.map +1 -1
- package/build/esm/TextField/Input.d.ts +11 -11
- package/build/esm/TextField/OutlinedContainer.d.ts +17 -17
- package/build/esm/TextField/OutlinedContainer.js.map +1 -1
- package/build/esm/TextField/TextField.d.ts +19 -19
- package/build/esm/TextField/consts.d.ts +5 -5
- package/build/esm/TextField/consts.js.map +1 -1
- package/build/esm/TextField/index.d.ts +4 -4
- package/build/esm/TextField/index.js.map +1 -1
- package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -7
- package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -1
- package/build/esm/ThemeExplorer/ColorPicker.d.ts +8 -8
- package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
- package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -10
- package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -1
- package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -9
- package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -1
- package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +9 -9
- package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
- package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -11
- package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
- package/build/esm/ThemeExplorer/ThemeColors.d.ts +5 -5
- package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
- package/build/esm/ThemeExplorer/components.d.ts +31 -31
- package/build/esm/ThemeExplorer/components.js.map +1 -1
- package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -1
- package/build/esm/ThemeExplorer/googleFonts.js.map +1 -1
- package/build/esm/ThemeExplorer/index.d.ts +1 -1
- package/build/esm/ThemeExplorer/index.js.map +1 -1
- package/build/esm/ThemeExplorer/makeColorScheme.d.ts +98 -98
- package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
- package/build/esm/ThemeExplorer/makeTailwindTheme.d.ts +2 -2
- package/build/esm/ThemeExplorer/makeTailwindTheme.js.map +1 -1
- package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -1
- package/build/esm/ThemeExplorer/useDeferredColor.d.ts +3 -3
- package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
- package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
- package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +8 -8
- package/build/esm/Tooltip/Tooltip.js.map +1 -1
- package/build/esm/Tooltip/index.d.ts +1 -1
- package/build/esm/Tooltip/index.js.map +1 -1
- package/build/esm/color.d.ts +8 -8
- package/build/esm/css.d.ts +1 -1
- package/build/esm/css.js.map +1 -1
- package/build/esm/hooks/useAnimation.d.ts +20 -20
- package/build/esm/hooks/useAnimation.js.map +1 -1
- package/build/esm/index.d.ts +41 -41
- package/build/esm/index.js.map +1 -1
- package/build/esm/motion.d.ts +7 -7
- package/build/esm/motion.js.map +1 -1
- package/build/esm/tailwind/extendColors.d.ts +5 -5
- package/build/esm/tailwind/extendColors.js.map +1 -1
- package/build/esm/tailwind/index.d.ts +8 -8
- package/build/esm/tailwind/index.js.map +1 -1
- package/build/esm/theme/index.d.ts +2 -2
- package/build/esm/theme/index.js.map +1 -1
- package/build/esm/theme/theme.d.ts +562 -562
- package/build/esm/theme/typography-raleway.d.ts +112 -112
- package/build/esm/theme/typography-raleway.js.map +1 -1
- package/build/esm/theme/typography-roboto.d.ts +111 -111
- package/build/esm/theme/typography-roboto.js.map +1 -1
- package/build/esm/theme/useTheme.d.ts +566 -566
- package/build/esm/theme/useTheme.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/Alert/index.ts +1 -1
- package/src/AppBar/AppBar.story.tsx +69 -69
- package/src/AppBar/AppBar.tsx +85 -85
- package/src/AppBar/AppBarButton.tsx +25 -25
- package/src/AppBar/context.ts +13 -13
- package/src/AppBar/index.ts +3 -3
- package/src/Badge/Badge.story.tsx +68 -68
- package/src/Badge/Badge.tsx +47 -47
- package/src/Badge/index.ts +1 -1
- package/src/BaseLine/BaseLine.tsx +100 -100
- package/src/BaseLine/index.ts +1 -1
- package/src/BottomSheet/BottomSheet.story.tsx +35 -35
- package/src/BottomSheet/BottomSheet.tsx +39 -39
- package/src/BottomSheet/BottomSheetSurface.tsx +49 -49
- package/src/BottomSheet/index.ts +1 -1
- package/src/Box/Box.tsx +127 -127
- package/src/Box/index.ts +1 -1
- package/src/Button/ButtonGroup.story.tsx +68 -43
- package/src/Button/FilledButton.tsx +16 -1
- package/src/Button/FloatingActionButton.tsx +9 -9
- package/src/Button/OutlinedButton.tsx +16 -1
- package/src/Button/SpinnerButton.story.tsx +91 -91
- package/src/Button/TransparentButton.tsx +16 -1
- package/src/Button/context.tsx +17 -17
- package/src/Button/index.ts +2 -2
- package/src/CheckBox/CheckBox.story.tsx +155 -155
- package/src/CheckBox/CheckBox.tsx +170 -170
- package/src/CheckBox/CheckBoxIcon.tsx +64 -64
- package/src/CheckBox/CheckPath.tsx +18 -18
- package/src/CheckBox/IndeterminatePath.tsx +16 -16
- package/src/CheckBox/index.ts +1 -1
- package/src/Chip/ButtonChip.tsx +86 -86
- package/src/Chip/Chip.story.tsx +242 -242
- package/src/Chip/Chip.tsx +5 -5
- package/src/Chip/ChipBase.tsx +141 -141
- package/src/Chip/ChoiceChip.tsx +127 -127
- package/src/Chip/index.ts +2 -2
- package/src/Combobox/Combobox.story.tsx +157 -157
- package/src/Combobox/Combobox.tsx +274 -274
- package/src/Combobox/index.ts +1 -1
- package/src/Dialog/Dialog.story.tsx +53 -53
- package/src/Dialog/Dialog.tsx +73 -73
- package/src/Dialog/DialogBackdrop.tsx +42 -42
- package/src/Dialog/DialogContainer.tsx +31 -31
- package/src/Dialog/DialogSurface.tsx +55 -55
- package/src/Dialog/Scrim.tsx +35 -35
- package/src/Dialog/index.ts +2 -2
- package/src/Dialog/useDialogAnimation.tsx +49 -49
- package/src/Divider/Divider.story.tsx +39 -39
- package/src/Divider/Divider.tsx +48 -48
- package/src/Divider/index.ts +1 -1
- package/src/FloatingLabel/FloatingLabel.story.tsx +55 -55
- package/src/FloatingLabel/FloatingLabel.tsx +77 -77
- package/src/FloatingLabel/index.ts +1 -1
- package/src/LineRipple/LineRipple.story.tsx +43 -43
- package/src/LineRipple/LineRipple.tsx +81 -81
- package/src/LineRipple/index.ts +1 -1
- package/src/Link/Link.story.tsx +14 -14
- package/src/Link/Link.tsx +65 -65
- package/src/Link/index.ts +1 -1
- package/src/List/List.tsx +46 -46
- package/src/List/index.ts +1 -1
- package/src/ListItem/ListItem.story.tsx +43 -43
- package/src/ListItem/ListItem.tsx +104 -104
- package/src/ListItem/ListItemText.tsx +35 -35
- package/src/ListItem/index.ts +2 -2
- package/src/Menu/ContextMenu.story.tsx +34 -34
- package/src/Menu/Menu.story.tsx +54 -54
- package/src/Menu/Menu.tsx +124 -124
- package/src/Menu/animation.ts +16 -16
- package/src/Menu/index.ts +2 -2
- package/src/NavRail/NavRail.story.tsx +146 -146
- package/src/NavRail/NavRailItem.tsx +175 -175
- package/src/NavRail/icons/test-icons.tsx +46 -46
- package/src/NavRail/index.ts +1 -1
- package/src/NotchedOutline/NotchedOutline.story.tsx +99 -99
- package/src/NotchedOutline/NotchedOutline.tsx +80 -80
- package/src/NotchedOutline/context.ts +12 -12
- package/src/NotchedOutline/index.ts +1 -1
- package/src/NotchedOutline/styledComponents.ts +122 -122
- package/src/Paper/Paper.story.tsx +50 -50
- package/src/Paper/Paper.tsx +67 -67
- package/src/Paper/index.ts +1 -1
- package/src/Popover/PopoverSurface.tsx +51 -51
- package/src/Popover/index.ts +1 -1
- package/src/ProgressSpinner/ProgressSpinner.story.tsx +35 -35
- package/src/ProgressSpinner/ProgressSpinner.tsx +119 -119
- package/src/ProgressSpinner/index.ts +1 -1
- package/src/RadioButton/RadioButton.story.tsx +109 -109
- package/src/RadioButton/RadioButton.tsx +112 -112
- package/src/RadioButton/RadioButtonIcon.tsx +44 -44
- package/src/RadioButton/RadioGroup.tsx +27 -27
- package/src/RadioButton/index.ts +2 -2
- package/src/Ripple/Ripple.story.tsx +78 -78
- package/src/Ripple/Ripple.tsx +33 -33
- package/src/Ripple/RippleBox.tsx +52 -52
- package/src/Ripple/constants.ts +15 -15
- package/src/Ripple/index.ts +5 -5
- package/src/Ripple/keyframes.ts +36 -36
- package/src/Ripple/useRipple.ts +209 -209
- package/src/Ripple/useRippleHandlers.ts +54 -54
- package/src/Ripple/useRippleSurface.ts +155 -155
- package/src/Select/CustomContainerExample.tsx +59 -59
- package/src/Select/PaymentMethodSelect.story.tsx +316 -316
- package/src/Select/Select.story.tsx +225 -225
- package/src/Select/Select.tsx +283 -283
- package/src/Select/SelectIcon.tsx +43 -43
- package/src/Select/SelectMultiple.story.tsx +215 -215
- package/src/Select/context.ts +22 -22
- package/src/Select/defaultRender.tsx +49 -49
- package/src/Select/index.ts +1 -1
- package/src/Select/styledComponents.tsx +38 -38
- package/src/SelectItem/SelectItem.tsx +92 -92
- package/src/SelectItem/index.ts +1 -1
- package/src/SelectionControl/SelectionControlLabel.tsx +34 -34
- package/src/SelectionControl/SelectionControlText.tsx +37 -37
- package/src/SelectionControl/index.ts +2 -2
- package/src/Skeleton/DelayAppearance.tsx +41 -41
- package/src/Skeleton/Skeleton.story.tsx +57 -57
- package/src/Skeleton/Skeleton.tsx +40 -40
- package/src/Skeleton/animation.ts +54 -54
- package/src/Skeleton/index.ts +2 -2
- package/src/Slider/Slider.story.tsx +36 -36
- package/src/Slider/Slider.tsx +275 -275
- package/src/Slider/index.ts +1 -1
- package/src/Snackbar/Snackbar.story.tsx +99 -99
- package/src/Switch/Switch.story.tsx +98 -98
- package/src/Switch/Switch.tsx +170 -170
- package/src/Switch/index.ts +1 -1
- package/src/Switch/styledComponents.tsx +117 -117
- package/src/Tab/Tab.story.tsx +209 -209
- package/src/Tab/Tab.tsx +120 -120
- package/src/Tab/TabList.tsx +61 -61
- package/src/Tab/TabPanel.tsx +31 -31
- package/src/Tab/TabPanels.tsx +5 -5
- package/src/Tab/Tabs.tsx +5 -5
- package/src/Tab/context.ts +17 -17
- package/src/Tab/index.ts +5 -5
- package/src/TabIndicator/TabIndicator.tsx +146 -146
- package/src/TabIndicator/context.ts +13 -13
- package/src/TabIndicator/index.ts +2 -2
- package/src/Table/Table.tsx +2 -8
- package/src/Table/TableCell.tsx +4 -1
- package/src/Table/TableHead.tsx +0 -2
- package/src/Table/context.ts +6 -6
- package/src/Table/index.ts +5 -5
- package/src/Text/LoremIpsum.tsx +18 -18
- package/src/Text/Text.story.tsx +75 -75
- package/src/Text/Text.tsx +84 -84
- package/src/Text/index.ts +1 -1
- package/src/TextField/FilledContainer.tsx +173 -173
- package/src/TextField/HelperText.tsx +63 -63
- package/src/TextField/IconContainer.tsx +33 -33
- package/src/TextField/OutlinedContainer.tsx +116 -116
- package/src/TextField/TextField.story.tsx +241 -241
- package/src/TextField/consts.ts +7 -7
- package/src/TextField/index.ts +4 -4
- package/src/ThemeExplorer/BorderSlider.tsx +73 -73
- package/src/ThemeExplorer/ColorPicker.tsx +104 -104
- package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -55
- package/src/ThemeExplorer/FontAutoComplete.tsx +139 -139
- package/src/ThemeExplorer/TextFieldColorPicker.tsx +115 -115
- package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -8
- package/src/ThemeExplorer/ThemeBuilder.tsx +353 -353
- package/src/ThemeExplorer/ThemeColors.tsx +118 -118
- package/src/ThemeExplorer/components.tsx +195 -195
- package/src/ThemeExplorer/googleFonts.ts +1436 -1436
- package/src/ThemeExplorer/index.ts +1 -1
- package/src/ThemeExplorer/makeColorScheme.tsx +111 -111
- package/src/ThemeExplorer/makeTailwindTheme.ts +44 -44
- package/src/ThemeExplorer/updateGoogleFonts.js +33 -33
- package/src/ThemeExplorer/useDeferredColor.tsx +21 -21
- package/src/ThemeExplorer/useLocalStorageCachedState.ts +18 -18
- package/src/Tooltip/Tooltip.story.tsx +35 -35
- package/src/Tooltip/Tooltip.tsx +67 -67
- package/src/Tooltip/index.ts +1 -1
- package/src/css.ts +2 -2
- package/src/hooks/useAnimation.ts +111 -111
- package/src/index.ts +41 -41
- package/src/motion.ts +7 -7
- package/src/tailwind/extendColors.ts +51 -51
- package/src/tailwind/index.ts +56 -56
- package/src/tailwind/tests/extendColors.test.ts +123 -123
- package/src/theme/index.ts +2 -2
- package/src/theme/typography-raleway.ts +114 -114
- package/src/theme/typography-roboto.ts +113 -113
- package/src/theme/useTheme.ts +18 -18
- package/tailwind/package.json +5 -5
- package/theme-explorer/package.json +5 -5
- package/build/esm/ColorMode/ColorModeProvider.d.ts +0 -7
- package/build/esm/ColorMode/ColorModeProvider.js +0 -71
- package/build/esm/ColorMode/ColorModeProvider.js.map +0 -1
- package/build/esm/ColorMode/color-mode.d.ts +0 -8
- package/build/esm/ColorMode/color-mode.js +0 -12
- package/build/esm/ColorMode/color-mode.js.map +0 -1
- package/build/esm/ColorMode/color-vars.d.ts +0 -4
- package/build/esm/ColorMode/color-vars.js +0 -58
- package/build/esm/ColorMode/color-vars.js.map +0 -1
- package/build/esm/ColorMode/constants.d.ts +0 -2
- package/build/esm/ColorMode/constants.js +0 -4
- package/build/esm/ColorMode/constants.js.map +0 -1
- package/build/esm/ColorMode/index.d.ts +0 -4
- package/build/esm/ColorMode/index.js +0 -5
- package/build/esm/ColorMode/index.js.map +0 -1
- package/build/esm/ListItem/context.d.ts +0 -7
- package/build/esm/ListItem/context.js +0 -11
- package/build/esm/ListItem/context.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -4321
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRippleSurface.js","names":["useMemo","get","wrapEvent","useTheme","rippleStyle","useRippleHandlers","useRippleSurface","opts","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","mouseFocus","onKeyDown","onPointerDown","style","disabled","rippleEnabled","rippleProps","theme","opacity","Number","backgroundColor","handleKeyDown","handlePointerDown","animationStyle","animation","focusPseudoClass","css","overflow","position","cursor","willChange","WebkitTapHighlightColor","boxSizing","content","pointerEvents","top","left","width","height","transition","__css"],"sources":["../../../src/Ripple/useRippleSurface.ts"],"sourcesContent":["import type {\n CSSProperties,\n KeyboardEventHandler,\n PointerEventHandler,\n} from 'react';\nimport { useMemo } from 'react';\nimport { get } from '@styled-system/css';\nimport { wrapEvent } from '@basic-ui/core';\n\nimport { useTheme } from '../theme';\nimport { rippleStyle } from './Ripple';\nimport { useRippleHandlers } from './useRippleHandlers';\nimport type { SxStyleProp } from '../Box';\n\nexport interface UseRippleSurfaceOptions<T extends HTMLElement> {\n baseOpacity?: number;\n hoverOpacity?: number;\n focusOpacity?: number;\n pressedOpacity?: number;\n rippleColor?: string;\n rippleEnabled?: boolean;\n center?: boolean;\n mouseFocus?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n onPointerDown?: PointerEventHandler<T>;\n onKeyDown?: KeyboardEventHandler<T>;\n}\n\nexport function useRippleSurface<T extends HTMLElement>(\n opts: UseRippleSurfaceOptions<T> = {}\n) {\n let {\n // eslint-disable-next-line prefer-const\n baseOpacity = 0,\n hoverOpacity = 0.04,\n focusOpacity = 0.12,\n pressedOpacity = 0.12,\n rippleColor = 'on.surface',\n // eslint-disable-next-line prefer-const\n mouseFocus = false,\n } = opts;\n const {\n onKeyDown,\n onPointerDown,\n style = {},\n disabled,\n rippleEnabled = true,\n ...rippleProps\n } = opts;\n\n const theme = useTheme();\n rippleColor = get(theme, `colors.${rippleColor}`) || rippleColor;\n\n if (disabled) {\n hoverOpacity = baseOpacity;\n focusOpacity = baseOpacity;\n pressedOpacity = baseOpacity;\n }\n\n const {\n handleKeyDown,\n handlePointerDown,\n style: animationStyle,\n animation,\n } = useRippleHandlers({\n opacity: Number(pressedOpacity),\n backgroundColor: rippleColor,\n disabled,\n ...rippleProps,\n });\n\n const focusPseudoClass = mouseFocus ? 'focus' : 'focus-visible';\n\n const css: SxStyleProp = useMemo(\n () => ({\n overflow: 'hidden',\n position: 'relative',\n cursor: 'pointer',\n // fix overflow: hidden + borderRadius in Safari\n // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479\n willChange: 'transform,opacity',\n WebkitTapHighlightColor: 'transparent',\n // ripple overlay\n '&::before': {\n backgroundColor: rippleColor,\n boxSizing: 'content-box',\n position: 'absolute',\n content: '\"\"',\n opacity: baseOpacity,\n pointerEvents: 'none',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n transition: 'opacity 75ms linear',\n },\n '&:hover::before': {\n opacity: hoverOpacity,\n },\n [`&:${focusPseudoClass}::before`]: {\n opacity: focusOpacity,\n },\n ...(!rippleEnabled && {\n '&:active::before': {\n opacity: pressedOpacity,\n },\n }),\n '&[aria-pressed=\"true\"]::before': {\n opacity: baseOpacity + pressedOpacity,\n },\n '&[aria-pressed=\"true\"]:hover::before': {\n opacity: pressedOpacity + hoverOpacity,\n },\n [`&[aria-pressed=\"true\"]:${focusPseudoClass}::before`]: {\n opacity: pressedOpacity + focusOpacity,\n },\n ...(!rippleEnabled && {\n '&[aria-pressed=\"true\"]:active::before': {\n opacity: pressedOpacity + pressedOpacity,\n },\n }),\n ['&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' +\n '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' +\n '&[data-disabled]:active::before,&:disabled[aria-pressed=\"true\"]::before']:\n {\n opacity: 0,\n },\n '&:disabled,&[data-disabled]': {\n cursor: 'default',\n },\n // ripple\n ...(rippleEnabled && {\n '&::after': { ...rippleStyle({ animation }) },\n }),\n }),\n [\n animation,\n baseOpacity,\n focusOpacity,\n focusPseudoClass,\n hoverOpacity,\n pressedOpacity,\n rippleColor,\n rippleEnabled,\n ]\n );\n\n return {\n style: { ...animationStyle, ...style },\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\n onPointerDown: wrapEvent(onPointerDown, handlePointerDown),\n __css: css,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRippleSurface.js","names":["useMemo","get","wrapEvent","useTheme","rippleStyle","useRippleHandlers","useRippleSurface","opts","baseOpacity","hoverOpacity","focusOpacity","pressedOpacity","rippleColor","mouseFocus","onKeyDown","onPointerDown","style","disabled","rippleEnabled","rippleProps","theme","opacity","Number","backgroundColor","handleKeyDown","handlePointerDown","animationStyle","animation","focusPseudoClass","css","overflow","position","cursor","willChange","WebkitTapHighlightColor","boxSizing","content","pointerEvents","top","left","width","height","transition","__css"],"sources":["../../../src/Ripple/useRippleSurface.ts"],"sourcesContent":["import type {\r\n CSSProperties,\r\n KeyboardEventHandler,\r\n PointerEventHandler,\r\n} from 'react';\r\nimport { useMemo } from 'react';\r\nimport { get } from '@styled-system/css';\r\nimport { wrapEvent } from '@basic-ui/core';\r\n\r\nimport { useTheme } from '../theme';\r\nimport { rippleStyle } from './Ripple';\r\nimport { useRippleHandlers } from './useRippleHandlers';\r\nimport type { SxStyleProp } from '../Box';\r\n\r\nexport interface UseRippleSurfaceOptions<T extends HTMLElement> {\r\n baseOpacity?: number;\r\n hoverOpacity?: number;\r\n focusOpacity?: number;\r\n pressedOpacity?: number;\r\n rippleColor?: string;\r\n rippleEnabled?: boolean;\r\n center?: boolean;\r\n mouseFocus?: boolean;\r\n disabled?: boolean;\r\n style?: CSSProperties;\r\n onPointerDown?: PointerEventHandler<T>;\r\n onKeyDown?: KeyboardEventHandler<T>;\r\n}\r\n\r\nexport function useRippleSurface<T extends HTMLElement>(\r\n opts: UseRippleSurfaceOptions<T> = {}\r\n) {\r\n let {\r\n // eslint-disable-next-line prefer-const\r\n baseOpacity = 0,\r\n hoverOpacity = 0.04,\r\n focusOpacity = 0.12,\r\n pressedOpacity = 0.12,\r\n rippleColor = 'on.surface',\r\n // eslint-disable-next-line prefer-const\r\n mouseFocus = false,\r\n } = opts;\r\n const {\r\n onKeyDown,\r\n onPointerDown,\r\n style = {},\r\n disabled,\r\n rippleEnabled = true,\r\n ...rippleProps\r\n } = opts;\r\n\r\n const theme = useTheme();\r\n rippleColor = get(theme, `colors.${rippleColor}`) || rippleColor;\r\n\r\n if (disabled) {\r\n hoverOpacity = baseOpacity;\r\n focusOpacity = baseOpacity;\r\n pressedOpacity = baseOpacity;\r\n }\r\n\r\n const {\r\n handleKeyDown,\r\n handlePointerDown,\r\n style: animationStyle,\r\n animation,\r\n } = useRippleHandlers({\r\n opacity: Number(pressedOpacity),\r\n backgroundColor: rippleColor,\r\n disabled,\r\n ...rippleProps,\r\n });\r\n\r\n const focusPseudoClass = mouseFocus ? 'focus' : 'focus-visible';\r\n\r\n const css: SxStyleProp = useMemo(\r\n () => ({\r\n overflow: 'hidden',\r\n position: 'relative',\r\n cursor: 'pointer',\r\n // fix overflow: hidden + borderRadius in Safari\r\n // https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b#gistcomment-2359479\r\n willChange: 'transform,opacity',\r\n WebkitTapHighlightColor: 'transparent',\r\n // ripple overlay\r\n '&::before': {\r\n backgroundColor: rippleColor,\r\n boxSizing: 'content-box',\r\n position: 'absolute',\r\n content: '\"\"',\r\n opacity: baseOpacity,\r\n pointerEvents: 'none',\r\n top: '0',\r\n left: '0',\r\n width: '100%',\r\n height: '100%',\r\n transition: 'opacity 75ms linear',\r\n },\r\n '&:hover::before': {\r\n opacity: hoverOpacity,\r\n },\r\n [`&:${focusPseudoClass}::before`]: {\r\n opacity: focusOpacity,\r\n },\r\n ...(!rippleEnabled && {\r\n '&:active::before': {\r\n opacity: pressedOpacity,\r\n },\r\n }),\r\n '&[aria-pressed=\"true\"]::before': {\r\n opacity: baseOpacity + pressedOpacity,\r\n },\r\n '&[aria-pressed=\"true\"]:hover::before': {\r\n opacity: pressedOpacity + hoverOpacity,\r\n },\r\n [`&[aria-pressed=\"true\"]:${focusPseudoClass}::before`]: {\r\n opacity: pressedOpacity + focusOpacity,\r\n },\r\n ...(!rippleEnabled && {\r\n '&[aria-pressed=\"true\"]:active::before': {\r\n opacity: pressedOpacity + pressedOpacity,\r\n },\r\n }),\r\n ['&:disabled::before,&:disabled:hover::before,&:disabled:focus::before,&:disabled:active::before,' +\r\n '&[data-disabled]::before,&[data-disabled]:hover::before,&[data-disabled]:focus::before,' +\r\n '&[data-disabled]:active::before,&:disabled[aria-pressed=\"true\"]::before']:\r\n {\r\n opacity: 0,\r\n },\r\n '&:disabled,&[data-disabled]': {\r\n cursor: 'default',\r\n },\r\n // ripple\r\n ...(rippleEnabled && {\r\n '&::after': { ...rippleStyle({ animation }) },\r\n }),\r\n }),\r\n [\r\n animation,\r\n baseOpacity,\r\n focusOpacity,\r\n focusPseudoClass,\r\n hoverOpacity,\r\n pressedOpacity,\r\n rippleColor,\r\n rippleEnabled,\r\n ]\r\n );\r\n\r\n return {\r\n style: { ...animationStyle, ...style },\r\n onKeyDown: wrapEvent(onKeyDown, handleKeyDown),\r\n onPointerDown: wrapEvent(onPointerDown, handlePointerDown),\r\n __css: css,\r\n };\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { FilledContainerProps } from '../';
|
|
3
|
-
export declare const CustomContainer: import("react").ForwardRefExoticComponent<Pick<FilledContainerProps, "
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { FilledContainerProps } from '../';
|
|
3
|
+
export declare const CustomContainer: import("react").ForwardRefExoticComponent<Pick<FilledContainerProps, "bottom" | "top" | "hidden" | "left" | "right" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "p" | "padding" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "size" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "color" | "bg" | "backgroundColor" | "opacity" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flex" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "order" | "border" | "borderX" | "borderY" | "borderWidth" | "borderTopWidth" | "borderBottomWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStyle" | "borderTopStyle" | "borderBottomStyle" | "borderLeftStyle" | "borderRightStyle" | "borderColor" | "borderTopColor" | "borderBottomColor" | "borderLeftColor" | "borderRightColor" | "borderRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "gridGap" | "gridColumnGap" | "gridRowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "background" | "backgroundImage" | "backgroundSize" | "backgroundPosition" | "backgroundRepeat" | "position" | "zIndex" | "boxShadow" | "textShadow" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "label" | "disabled" | "leadingIcon" | "hasFocus" | "labelIsFloating" | "inputId" | "error" | "forceActive"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomContainerExample.js","names":["forwardRef","alpha","Box","FilledContainerOverlay","CustomContainer","props","forwardedRef","label","labelIsFloating","inputId","hasFocus","colorProp","color","children","error","disabled","forceActive","leadingIcon","otherProps","active","variant","position","lineHeight","width","height","overflow","boxSizing","borderRadius","backgroundColor","minHeight","py"],"sources":["../../../src/Select/CustomContainerExample.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { alpha } from '../color';\nimport { Box } from '../Box';\nimport type { FilledContainerProps } from '../';\nimport { FilledContainerOverlay } from '../';\n\nexport const CustomContainer = forwardRef<HTMLDivElement, FilledContainerProps>(\n function CustomContainer(props, forwardedRef) {\n const {\n label,\n labelIsFloating,\n inputId,\n hasFocus,\n color: colorProp,\n children,\n error = false,\n disabled = false,\n forceActive = false,\n leadingIcon,\n ...otherProps\n } = props;\n\n const active = hasFocus || forceActive;\n\n return (\n <Box\n ref={forwardedRef}\n disabled={disabled}\n active={active || error}\n __css={{\n variant: 'text.label-small',\n position: 'relative',\n lineHeight: 0,\n width: '100%',\n height: 32,\n overflow: 'hidden',\n boxSizing: 'border-box',\n borderRadius: 'full',\n color: alpha('on.surface-variant', 0.87),\n ...(disabled && {\n backgroundColor: alpha('on.surface-variant', 0.08),\n color: alpha('on.surface-variant', 0.38),\n }),\n ...(active && { color: 'primary' }),\n '& > [role=\"button\"]': {\n variant: 'text.label-medium',\n minHeight: 32,\n py: 0,\n },\n }}\n {...otherProps}\n >\n {children}\n <FilledContainerOverlay forceActive={active} />\n </Box>\n );\n }\n);\n"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA,SAASC,sBAAT,QAAuC,KAAvC;;;AAEA,OAAO,IAAMC,eAAe,gBAAGJ,UAAU,CACvC,SAASI,eAAT,CAAyBC,KAAzB,EAAgCC,YAAhC,EAA8C;EAC5C,IACEC,KADF,GAYIF,KAZJ,CACEE,KADF;EAAA,IAEEC,eAFF,GAYIH,KAZJ,CAEEG,eAFF;EAAA,IAGEC,OAHF,GAYIJ,KAZJ,CAGEI,OAHF;EAAA,IAIEC,QAJF,GAYIL,KAZJ,CAIEK,QAJF;EAAA,IAKSC,SALT,GAYIN,KAZJ,CAKEO,KALF;EAAA,IAMEC,QANF,GAYIR,KAZJ,CAMEQ,QANF;EAAA,mBAYIR,KAZJ,CAOES,KAPF;EAAA,IAOEA,KAPF,6BAOU,KAPV;EAAA,sBAYIT,KAZJ,CAQEU,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,yBAYIV,KAZJ,CASEW,WATF;EAAA,IASEA,WATF,mCASgB,KAThB;EAAA,IAUEC,WAVF,GAYIZ,KAZJ,CAUEY,WAVF;EAAA,IAWKC,UAXL,4BAYIb,KAZJ;;EAcA,IAAMc,MAAM,GAAGT,QAAQ,IAAIM,WAA3B;EAEA,oBACE,MAAC,GAAD;IACE,GAAG,EAAEV,YADP;IAEE,QAAQ,EAAES,QAFZ;IAGE,MAAM,EAAEI,MAAM,IAAIL,KAHpB;IAIE,KAAK;MACHM,OAAO,EAAE,kBADN;MAEHC,QAAQ,EAAE,UAFP;MAGHC,UAAU,EAAE,CAHT;MAIHC,KAAK,EAAE,MAJJ;MAKHC,MAAM,EAAE,EALL;MAMHC,QAAQ,EAAE,QANP;MAOHC,SAAS,EAAE,YAPR;MAQHC,YAAY,EAAE,MARX;MASHf,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IATT,GAUCc,QAAQ,IAAI;MACda,eAAe,EAAE3B,KAAK,CAAC,oBAAD,EAAuB,IAAvB,CADR;MAEdW,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IAFE,CAVb,GAcCkB,MAAM,IAAI;MAAEP,KAAK,EAAE;IAAT,CAdX;MAeH,uBAAuB;QACrBQ,OAAO,EAAE,mBADY;QAErBS,SAAS,EAAE,EAFU;QAGrBC,EAAE,EAAE;MAHiB;IAfpB;EAJP,GAyBMZ,UAzBN;IAAA,WA2BGL,QA3BH,eA4BE,KAAC,sBAAD;MAAwB,WAAW,EAAEM;IAArC,EA5BF;EAAA,GADF;AAgCD,CAlDsC,CAAlC"}
|
|
1
|
+
{"version":3,"file":"CustomContainerExample.js","names":["forwardRef","alpha","Box","FilledContainerOverlay","CustomContainer","props","forwardedRef","label","labelIsFloating","inputId","hasFocus","colorProp","color","children","error","disabled","forceActive","leadingIcon","otherProps","active","variant","position","lineHeight","width","height","overflow","boxSizing","borderRadius","backgroundColor","minHeight","py"],"sources":["../../../src/Select/CustomContainerExample.tsx"],"sourcesContent":["import { forwardRef } from 'react';\r\n\r\nimport { alpha } from '../color';\r\nimport { Box } from '../Box';\r\nimport type { FilledContainerProps } from '../';\r\nimport { FilledContainerOverlay } from '../';\r\n\r\nexport const CustomContainer = forwardRef<HTMLDivElement, FilledContainerProps>(\r\n function CustomContainer(props, forwardedRef) {\r\n const {\r\n label,\r\n labelIsFloating,\r\n inputId,\r\n hasFocus,\r\n color: colorProp,\r\n children,\r\n error = false,\r\n disabled = false,\r\n forceActive = false,\r\n leadingIcon,\r\n ...otherProps\r\n } = props;\r\n\r\n const active = hasFocus || forceActive;\r\n\r\n return (\r\n <Box\r\n ref={forwardedRef}\r\n disabled={disabled}\r\n active={active || error}\r\n __css={{\r\n variant: 'text.label-small',\r\n position: 'relative',\r\n lineHeight: 0,\r\n width: '100%',\r\n height: 32,\r\n overflow: 'hidden',\r\n boxSizing: 'border-box',\r\n borderRadius: 'full',\r\n color: alpha('on.surface-variant', 0.87),\r\n ...(disabled && {\r\n backgroundColor: alpha('on.surface-variant', 0.08),\r\n color: alpha('on.surface-variant', 0.38),\r\n }),\r\n ...(active && { color: 'primary' }),\r\n '& > [role=\"button\"]': {\r\n variant: 'text.label-medium',\r\n minHeight: 32,\r\n py: 0,\r\n },\r\n }}\r\n {...otherProps}\r\n >\r\n {children}\r\n <FilledContainerOverlay forceActive={active} />\r\n </Box>\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA,SAASC,sBAAT,QAAuC,KAAvC;;;AAEA,OAAO,IAAMC,eAAe,gBAAGJ,UAAU,CACvC,SAASI,eAAT,CAAyBC,KAAzB,EAAgCC,YAAhC,EAA8C;EAC5C,IACEC,KADF,GAYIF,KAZJ,CACEE,KADF;EAAA,IAEEC,eAFF,GAYIH,KAZJ,CAEEG,eAFF;EAAA,IAGEC,OAHF,GAYIJ,KAZJ,CAGEI,OAHF;EAAA,IAIEC,QAJF,GAYIL,KAZJ,CAIEK,QAJF;EAAA,IAKSC,SALT,GAYIN,KAZJ,CAKEO,KALF;EAAA,IAMEC,QANF,GAYIR,KAZJ,CAMEQ,QANF;EAAA,mBAYIR,KAZJ,CAOES,KAPF;EAAA,IAOEA,KAPF,6BAOU,KAPV;EAAA,sBAYIT,KAZJ,CAQEU,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,yBAYIV,KAZJ,CASEW,WATF;EAAA,IASEA,WATF,mCASgB,KAThB;EAAA,IAUEC,WAVF,GAYIZ,KAZJ,CAUEY,WAVF;EAAA,IAWKC,UAXL,4BAYIb,KAZJ;;EAcA,IAAMc,MAAM,GAAGT,QAAQ,IAAIM,WAA3B;EAEA,oBACE,MAAC,GAAD;IACE,GAAG,EAAEV,YADP;IAEE,QAAQ,EAAES,QAFZ;IAGE,MAAM,EAAEI,MAAM,IAAIL,KAHpB;IAIE,KAAK;MACHM,OAAO,EAAE,kBADN;MAEHC,QAAQ,EAAE,UAFP;MAGHC,UAAU,EAAE,CAHT;MAIHC,KAAK,EAAE,MAJJ;MAKHC,MAAM,EAAE,EALL;MAMHC,QAAQ,EAAE,QANP;MAOHC,SAAS,EAAE,YAPR;MAQHC,YAAY,EAAE,MARX;MASHf,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IATT,GAUCc,QAAQ,IAAI;MACda,eAAe,EAAE3B,KAAK,CAAC,oBAAD,EAAuB,IAAvB,CADR;MAEdW,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IAFE,CAVb,GAcCkB,MAAM,IAAI;MAAEP,KAAK,EAAE;IAAT,CAdX;MAeH,uBAAuB;QACrBQ,OAAO,EAAE,mBADY;QAErBS,SAAS,EAAE,EAFU;QAGrBC,EAAE,EAAE;MAHiB;IAfpB;EAJP,GAyBMZ,UAzBN;IAAA,WA2BGL,QA3BH,eA4BE,KAAC,sBAAD;MAAwB,WAAW,EAAEM;IAArC,EA5BF;EAAA,GADF;AAgCD,CAlDsC,CAAlC"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import type { SelectHTMLAttributes, ReactNode, ChangeEvent, ComponentType, ReactElement, Ref } from 'react';
|
|
2
|
-
import type { Theme } from '../theme';
|
|
3
|
-
import type { FilledContainerProps } from '../TextField/FilledContainer';
|
|
4
|
-
import type { BoxProps } from '../Box';
|
|
5
|
-
interface BaseSelectProps extends Omit<BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>, 'value' | 'defaultValue' | 'onChange'> {
|
|
6
|
-
variant?: 'outlined' | 'filled';
|
|
7
|
-
color?: 'primary' | 'secondary';
|
|
8
|
-
label?: ReactNode;
|
|
9
|
-
helperText?: string;
|
|
10
|
-
native?: boolean;
|
|
11
|
-
theme?: Theme;
|
|
12
|
-
error?: boolean | string;
|
|
13
|
-
leadingIcon?: ReactNode;
|
|
14
|
-
CustomContainer?: ComponentType<FilledContainerProps>;
|
|
15
|
-
}
|
|
16
|
-
export declare type SelectProps<ValueType extends string> = BaseSelectProps & ({
|
|
17
|
-
multiple?: false | undefined;
|
|
18
|
-
value?: ValueType;
|
|
19
|
-
defaultValue?: ValueType;
|
|
20
|
-
onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType) => void;
|
|
21
|
-
renderValue?: (value?: ValueType | '') => ReactNode;
|
|
22
|
-
} | {
|
|
23
|
-
multiple: true;
|
|
24
|
-
value?: ValueType[];
|
|
25
|
-
defaultValue?: ValueType[];
|
|
26
|
-
onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType[]) => void;
|
|
27
|
-
renderValue?: (value?: ValueType[]) => ReactNode;
|
|
28
|
-
});
|
|
29
|
-
export declare const Select: <ValueType extends string>(p: SelectProps<ValueType> & {
|
|
30
|
-
ref?: Ref<HTMLButtonElement | HTMLSelectElement> | undefined;
|
|
31
|
-
}) => ReactElement;
|
|
32
|
-
export {};
|
|
1
|
+
import type { SelectHTMLAttributes, ReactNode, ChangeEvent, ComponentType, ReactElement, Ref } from 'react';
|
|
2
|
+
import type { Theme } from '../theme';
|
|
3
|
+
import type { FilledContainerProps } from '../TextField/FilledContainer';
|
|
4
|
+
import type { BoxProps } from '../Box';
|
|
5
|
+
interface BaseSelectProps extends Omit<BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>, 'value' | 'defaultValue' | 'onChange'> {
|
|
6
|
+
variant?: 'outlined' | 'filled';
|
|
7
|
+
color?: 'primary' | 'secondary';
|
|
8
|
+
label?: ReactNode;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
native?: boolean;
|
|
11
|
+
theme?: Theme;
|
|
12
|
+
error?: boolean | string;
|
|
13
|
+
leadingIcon?: ReactNode;
|
|
14
|
+
CustomContainer?: ComponentType<FilledContainerProps>;
|
|
15
|
+
}
|
|
16
|
+
export declare type SelectProps<ValueType extends string> = BaseSelectProps & ({
|
|
17
|
+
multiple?: false | undefined;
|
|
18
|
+
value?: ValueType;
|
|
19
|
+
defaultValue?: ValueType;
|
|
20
|
+
onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType) => void;
|
|
21
|
+
renderValue?: (value?: ValueType | '') => ReactNode;
|
|
22
|
+
} | {
|
|
23
|
+
multiple: true;
|
|
24
|
+
value?: ValueType[];
|
|
25
|
+
defaultValue?: ValueType[];
|
|
26
|
+
onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType[]) => void;
|
|
27
|
+
renderValue?: (value?: ValueType[]) => ReactNode;
|
|
28
|
+
});
|
|
29
|
+
export declare const Select: <ValueType extends string>(p: SelectProps<ValueType> & {
|
|
30
|
+
ref?: Ref<HTMLButtonElement | HTMLSelectElement> | undefined;
|
|
31
|
+
}) => ReactElement;
|
|
32
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["useMemo","forwardRef","useState","useRef","useEffect","useId","wrapEvent","assignMultipleRefs","useControlledState","useTheme","Select","SelectComp","SelectButton","FilledContainer","HelperText","OutlinedContainer","SelectProvider","Menu","MenuPopover","MenuList","SelectIcon","makeDefaultMultipleRender","makeDefaultRender","Box","IconContainer","listItemStyle","componentMap","outlined","filled","props","forwardedRef","idProp","id","name","variant","color","valueProp","value","defaultValue","multiple","disabled","error","label","placeholder","helperTextProp","helperText","onChangeProp","onChange","onFocus","onBlur","native","children","renderValueProp","renderValue","leadingIcon","overwrittenContainer","CustomContainer","otherProps","setState","e","v","Array","isArray","console","warn","hasFocus","setHasFocus","buttonRef","open","setOpen","fallbackId","theme","Container","handleFocus","handleBlur","handleToggle","isOpen","handleOnChange","selectedValue","target","currentTarget","dataset","find","c","filter","isMac","Boolean","test","navigator","userAgent","key","metaKey","ctrlKey","preventDefault","hasError","inputId","helperTextId","undefined","defaultRenderFn","hasAnySelected","length","labelIsFloating","Comp","current","onSelect","minWidth","offsetWidth"],"sources":["../../../src/Select/Select.tsx"],"sourcesContent":["import type {\n SelectHTMLAttributes,\n ReactNode,\n ChangeEvent,\n ComponentType,\n ForwardedRef,\n ReactElement,\n Ref,\n} from 'react';\nimport { useMemo, forwardRef, useState, useRef, useEffect, useId } from 'react';\nimport {\n wrapEvent,\n assignMultipleRefs,\n useControlledState,\n} from '@basic-ui/core';\n\nimport type { Theme } from '../theme';\nimport { useTheme } from '../theme';\nimport { Select as SelectComp, SelectButton } from './styledComponents';\nimport type { FilledContainerProps } from '../TextField/FilledContainer';\nimport { FilledContainer } from '../TextField/FilledContainer';\nimport { HelperText } from '../TextField/HelperText';\nimport { OutlinedContainer } from '../TextField/OutlinedContainer';\nimport { SelectProvider } from './context';\nimport { Menu, MenuPopover, MenuList } from '../Menu';\nimport { SelectIcon } from './SelectIcon';\nimport { makeDefaultMultipleRender, makeDefaultRender } from './defaultRender';\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { IconContainer } from '../TextField/IconContainer';\nimport { listItemStyle } from '../ListItem';\n\nconst componentMap = {\n outlined: OutlinedContainer,\n filled: FilledContainer,\n};\n\ninterface BaseSelectProps\n extends Omit<\n BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>,\n 'value' | 'defaultValue' | 'onChange'\n > {\n variant?: 'outlined' | 'filled';\n color?: 'primary' | 'secondary';\n label?: ReactNode;\n helperText?: string;\n native?: boolean;\n theme?: Theme;\n error?: boolean | string;\n leadingIcon?: ReactNode;\n CustomContainer?: ComponentType<FilledContainerProps>;\n}\n\nexport type SelectProps<ValueType extends string> = BaseSelectProps &\n (\n | {\n multiple?: false | undefined;\n value?: ValueType;\n defaultValue?: ValueType;\n onChange?: (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType\n ) => void;\n renderValue?: (value?: ValueType | '') => ReactNode;\n }\n | {\n multiple: true;\n value?: ValueType[];\n defaultValue?: ValueType[];\n onChange?: (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType[]\n ) => void;\n renderValue?: (value?: ValueType[]) => ReactNode;\n }\n );\n\nexport const Select = forwardRef(function Select<ValueType extends string>(\n props: SelectProps<ValueType>,\n forwardedRef: ForwardedRef<HTMLSelectElement | HTMLButtonElement>\n) {\n const {\n id: idProp,\n name,\n variant = 'outlined',\n color = 'primary',\n value: valueProp,\n defaultValue = props.multiple ? [] : ('' as const),\n disabled,\n error = false,\n label = null,\n placeholder,\n helperText: helperTextProp,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n native = false,\n multiple = false,\n children,\n renderValue: renderValueProp,\n leadingIcon = null,\n CustomContainer: overwrittenContainer,\n ...otherProps\n } = props;\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp as (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType | ValueType[]\n ) => void,\n defaultValue,\n (setState) => (e, v: ValueType | ValueType[]) => {\n setState(v);\n }\n );\n if (multiple && !Array.isArray(value)) {\n console.warn(\n 'Warning: The `value` prop supplied to <Select> must be an array if `multiple` is true.'\n );\n }\n\n const [hasFocus, setHasFocus] = useState(false);\n const buttonRef = useRef<HTMLButtonElement | HTMLSelectElement>();\n const [open, setOpen] = useState(false);\n const fallbackId = useId();\n const theme = useTheme();\n\n const Container =\n overwrittenContainer || componentMap[variant] || OutlinedContainer;\n\n const handleFocus = () => {\n setHasFocus(true);\n };\n\n const handleBlur = () => {\n setHasFocus(false);\n };\n\n const handleToggle = (e: unknown, isOpen: boolean) => {\n setOpen(isOpen);\n };\n\n const handleOnChange = (e: any) => {\n const selectedValue = native\n ? e.target.value\n : e.currentTarget.dataset.value;\n\n if (multiple && Array.isArray(value)) {\n if (value.find((c) => c === selectedValue)) {\n onChange &&\n onChange(e as any, value.filter((c) => c !== selectedValue) as any);\n } else {\n onChange && onChange(e as any, [...value, selectedValue] as any);\n }\n\n const isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));\n if (e.key === ' ' || (isMac && e.metaKey) || (!isMac && e.ctrlKey)) {\n e.preventDefault();\n }\n } else {\n onChange && onChange(e as any, selectedValue);\n }\n };\n\n const hasError = Boolean(error);\n const helperText = typeof error === 'string' ? error : helperTextProp;\n\n const id = idProp || fallbackId;\n const inputId = `${id}-text-field`;\n const helperTextId = helperText ? `${id}-helper-text` : undefined;\n\n const defaultRenderFn = useMemo(\n () =>\n multiple\n ? makeDefaultMultipleRender(children)\n : makeDefaultRender<ValueType>(children),\n [children, multiple]\n );\n const renderValue = renderValueProp || defaultRenderFn;\n\n function hasAnySelected() {\n if (multiple) {\n return value.length > 0;\n } else {\n return value !== '';\n }\n }\n const labelIsFloating = hasFocus || open || hasAnySelected();\n\n const Comp: ComponentType<any> = native\n ? (SelectComp as any)\n : (SelectButton as any);\n\n useEffect(() => {\n // right after mounting, if the default value in the select element\n // is different than the value we have stored in state we need to\n // update our state to reflect that.\n if (native && buttonRef.current && buttonRef.current.value !== value) {\n onChange && onChange({} as any, buttonRef.current.value as ValueType);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <SelectProvider\n value={{ native, onSelect: handleOnChange, value, multiple }}\n >\n <Box display=\"inline-flex\" flexDirection=\"column\" width=\"100%\">\n {!native && <input type=\"hidden\" name={name} value={value} />}\n <Container\n theme={theme}\n label={label}\n color={color}\n labelIsFloating={labelIsFloating}\n inputId={inputId}\n hasFocus={hasFocus}\n disabled={disabled ?? false}\n forceActive={open}\n error={hasError}\n leadingIcon={Boolean(leadingIcon)}\n >\n <Menu onChange={handleToggle} open={open}>\n {leadingIcon && (\n <IconContainer position=\"start\">{leadingIcon}</IconContainer>\n )}\n <Comp\n ref={assignMultipleRefs(forwardedRef, buttonRef)}\n variant={variant}\n id={inputId}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onChange={native ? handleOnChange : undefined}\n value={native ? value : undefined}\n theme={theme}\n placeholder={placeholder}\n disabled={disabled}\n aria-disabled={disabled ? 'true' : undefined}\n aria-describedby={helperTextId}\n hasLabel={!!label}\n leadingIcon={Boolean(leadingIcon)}\n name={native ? name : undefined}\n multiple={native ? multiple : undefined}\n trailingIcon={true}\n {...otherProps}\n >\n {native ? children : renderValue(value as any)}\n </Comp>\n {!native && (\n <MenuPopover usePortal>\n <MenuList\n defaultActiveItemValue={value}\n style={{\n minWidth: buttonRef?.current?.offsetWidth,\n }}\n role=\"listbox\"\n __css={{\n '& [data-menu-item=\"\"]': {\n ...listItemStyle('primary'),\n },\n }}\n >\n {children}\n </MenuList>\n </MenuPopover>\n )}\n </Menu>\n <SelectIcon open={open} />\n </Container>\n\n <HelperText\n disabled={disabled}\n id={helperTextId}\n leftSide={helperText}\n error={hasError}\n />\n </Box>\n </SelectProvider>\n );\n}) as <ValueType extends string>(\n p: SelectProps<ValueType> & {\n ref?: Ref<HTMLSelectElement | HTMLButtonElement>;\n }\n) => ReactElement;\n"],"mappings":";;;;;AASA,SAASA,OAAT,EAAkBC,UAAlB,EAA8BC,QAA9B,EAAwCC,MAAxC,EAAgDC,SAAhD,EAA2DC,KAA3D,QAAwE,OAAxE;AACA,SACEC,SADF,EAEEC,kBAFF,EAGEC,kBAHF,QAIO,gBAJP;AAOA,SAASC,QAAT,QAAyB,UAAzB;AACA,SAASC,MAAM,IAAIC,UAAnB,EAA+BC,YAA/B,QAAmD,oBAAnD;AAEA,SAASC,eAAT,QAAgC,8BAAhC;AACA,SAASC,UAAT,QAA2B,yBAA3B;AACA,SAASC,iBAAT,QAAkC,gCAAlC;AACA,SAASC,cAAT,QAA+B,WAA/B;AACA,SAASC,IAAT,EAAeC,WAAf,EAA4BC,QAA5B,QAA4C,SAA5C;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,yBAAT,EAAoCC,iBAApC,QAA6D,iBAA7D;AAEA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,aAAT,QAA8B,4BAA9B;AACA,SAASC,aAAT,QAA8B,aAA9B;;;AAEA,IAAMC,YAAY,GAAG;EACnBC,QAAQ,EAAEZ,iBADS;EAEnBa,MAAM,EAAEf;AAFW,CAArB;AA6CA,OAAO,IAAMH,MAAM,gBAAGT,UAAU,CAAC,SAASS,MAAT,CAC/BmB,KAD+B,EAE/BC,YAF+B,EAG/B;EAAA;;EACA,IACMC,MADN,GAsBIF,KAtBJ,CACEG,EADF;EAAA,IAEEC,IAFF,GAsBIJ,KAtBJ,CAEEI,IAFF;EAAA,qBAsBIJ,KAtBJ,CAGEK,OAHF;EAAA,IAGEA,OAHF,+BAGY,UAHZ;EAAA,mBAsBIL,KAtBJ,CAIEM,KAJF;EAAA,IAIEA,KAJF,6BAIU,SAJV;EAAA,IAKSC,SALT,GAsBIP,KAtBJ,CAKEQ,KALF;EAAA,0BAsBIR,KAtBJ,CAMES,YANF;EAAA,IAMEA,YANF,oCAMiBT,KAAK,CAACU,QAAN,GAAiB,EAAjB,GAAuB,EANxC;EAAA,IAOEC,QAPF,GAsBIX,KAtBJ,CAOEW,QAPF;EAAA,mBAsBIX,KAtBJ,CAQEY,KARF;EAAA,IAQEA,KARF,6BAQU,KARV;EAAA,mBAsBIZ,KAtBJ,CASEa,KATF;EAAA,IASEA,KATF,6BASU,IATV;EAAA,IAUEC,WAVF,GAsBId,KAtBJ,CAUEc,WAVF;EAAA,IAWcC,cAXd,GAsBIf,KAtBJ,CAWEgB,UAXF;EAAA,IAYYC,YAZZ,GAsBIjB,KAtBJ,CAYEkB,QAZF;EAAA,IAaEC,OAbF,GAsBInB,KAtBJ,CAaEmB,OAbF;EAAA,IAcEC,MAdF,GAsBIpB,KAtBJ,CAcEoB,MAdF;EAAA,oBAsBIpB,KAtBJ,CAeEqB,MAfF;EAAA,IAeEA,MAfF,8BAeW,KAfX;EAAA,sBAsBIrB,KAtBJ,CAgBEU,QAhBF;EAAA,IAgBEA,QAhBF,gCAgBa,KAhBb;EAAA,IAiBEY,QAjBF,GAsBItB,KAtBJ,CAiBEsB,QAjBF;EAAA,IAkBeC,eAlBf,GAsBIvB,KAtBJ,CAkBEwB,WAlBF;EAAA,yBAsBIxB,KAtBJ,CAmBEyB,WAnBF;EAAA,IAmBEA,WAnBF,mCAmBgB,IAnBhB;EAAA,IAoBmBC,oBApBnB,GAsBI1B,KAtBJ,CAoBE2B,eApBF;EAAA,IAqBKC,UArBL,4BAsBI5B,KAtBJ;;EAuBA,0BAA0BrB,kBAAkB,CAC1C4B,SAD0C,EAE1CU,YAF0C,EAM1CR,YAN0C,EAO1C,UAACoB,QAAD;IAAA,OAAc,UAACC,CAAD,EAAIC,CAAJ,EAAmC;MAC/CF,QAAQ,CAACE,CAAD,CAAR;IACD,CAFD;EAAA,CAP0C,CAA5C;EAAA;EAAA,IAAOvB,KAAP;EAAA,IAAcU,QAAd;;EAWA,IAAIR,QAAQ,IAAI,CAACsB,KAAK,CAACC,OAAN,CAAczB,KAAd,CAAjB,EAAuC;IACrC0B,OAAO,CAACC,IAAR,CACE,wFADF;EAGD;;EAED,gBAAgC9D,QAAQ,CAAC,KAAD,CAAxC;EAAA;EAAA,IAAO+D,QAAP;EAAA,IAAiBC,WAAjB;;EACA,IAAMC,SAAS,GAAGhE,MAAM,EAAxB;;EACA,iBAAwBD,QAAQ,CAAC,KAAD,CAAhC;EAAA;EAAA,IAAOkE,IAAP;EAAA,IAAaC,OAAb;;EACA,IAAMC,UAAU,GAAGjE,KAAK,EAAxB;EACA,IAAMkE,KAAK,GAAG9D,QAAQ,EAAtB;EAEA,IAAM+D,SAAS,GACbjB,oBAAoB,IAAI7B,YAAY,CAACQ,OAAD,CAApC,IAAiDnB,iBADnD;;EAGA,IAAM0D,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxBP,WAAW,CAAC,IAAD,CAAX;EACD,CAFD;;EAIA,IAAMQ,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvBR,WAAW,CAAC,KAAD,CAAX;EACD,CAFD;;EAIA,IAAMS,YAAY,GAAG,SAAfA,YAAe,CAAChB,CAAD,EAAaiB,MAAb,EAAiC;IACpDP,OAAO,CAACO,MAAD,CAAP;EACD,CAFD;;EAIA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAClB,CAAD,EAAY;IACjC,IAAMmB,aAAa,GAAG5B,MAAM,GACxBS,CAAC,CAACoB,MAAF,CAAS1C,KADe,GAExBsB,CAAC,CAACqB,aAAF,CAAgBC,OAAhB,CAAwB5C,KAF5B;;IAIA,IAAIE,QAAQ,IAAIsB,KAAK,CAACC,OAAN,CAAczB,KAAd,CAAhB,EAAsC;MACpC,IAAIA,KAAK,CAAC6C,IAAN,CAAW,UAACC,CAAD;QAAA,OAAOA,CAAC,KAAKL,aAAb;MAAA,CAAX,CAAJ,EAA4C;QAC1C/B,QAAQ,IACNA,QAAQ,CAACY,CAAD,EAAWtB,KAAK,CAAC+C,MAAN,CAAa,UAACD,CAAD;UAAA,OAAOA,CAAC,KAAKL,aAAb;QAAA,CAAb,CAAX,CADV;MAED,CAHD,MAGO;QACL/B,QAAQ,IAAIA,QAAQ,CAACY,CAAD,+BAAetB,KAAf,IAAsByC,aAAtB,GAApB;MACD;;MAED,IAAMO,KAAK,GAAGC,OAAO,CAAC,cAAcC,IAAd,CAAmBC,SAAS,CAACC,SAA7B,CAAD,CAArB;;MACA,IAAI9B,CAAC,CAAC+B,GAAF,KAAU,GAAV,IAAkBL,KAAK,IAAI1B,CAAC,CAACgC,OAA7B,IAA0C,CAACN,KAAD,IAAU1B,CAAC,CAACiC,OAA1D,EAAoE;QAClEjC,CAAC,CAACkC,cAAF;MACD;IACF,CAZD,MAYO;MACL9C,QAAQ,IAAIA,QAAQ,CAACY,CAAD,EAAWmB,aAAX,CAApB;IACD;EACF,CApBD;;EAsBA,IAAMgB,QAAQ,GAAGR,OAAO,CAAC7C,KAAD,CAAxB;EACA,IAAMI,UAAU,GAAG,OAAOJ,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCG,cAAvD;EAEA,IAAMZ,EAAE,GAAGD,MAAM,IAAIuC,UAArB;EACA,IAAMyB,OAAO,aAAM/D,EAAN,gBAAb;EACA,IAAMgE,YAAY,GAAGnD,UAAU,aAAMb,EAAN,oBAAyBiE,SAAxD;EAEA,IAAMC,eAAe,GAAGlG,OAAO,CAC7B;IAAA,OACEuC,QAAQ,GACJlB,yBAAyB,CAAC8B,QAAD,CADrB,GAEJ7B,iBAAiB,CAAY6B,QAAZ,CAHvB;EAAA,CAD6B,EAK7B,CAACA,QAAD,EAAWZ,QAAX,CAL6B,CAA/B;EAOA,IAAMc,WAAW,GAAGD,eAAe,IAAI8C,eAAvC;;EAEA,SAASC,cAAT,GAA0B;IACxB,IAAI5D,QAAJ,EAAc;MACZ,OAAOF,KAAK,CAAC+D,MAAN,GAAe,CAAtB;IACD,CAFD,MAEO;MACL,OAAO/D,KAAK,KAAK,EAAjB;IACD;EACF;;EACD,IAAMgE,eAAe,GAAGpC,QAAQ,IAAIG,IAAZ,IAAoB+B,cAAc,EAA1D;EAEA,IAAMG,IAAwB,GAAGpD,MAAM,GAClCvC,UADkC,GAElCC,YAFL;EAIAR,SAAS,CAAC,YAAM;IACd;IACA;IACA;IACA,IAAI8C,MAAM,IAAIiB,SAAS,CAACoC,OAApB,IAA+BpC,SAAS,CAACoC,OAAV,CAAkBlE,KAAlB,KAA4BA,KAA/D,EAAsE;MACpEU,QAAQ,IAAIA,QAAQ,CAAC,EAAD,EAAYoB,SAAS,CAACoC,OAAV,CAAkBlE,KAA9B,CAApB;IACD,CANa,CAOd;;EACD,CARQ,EAQN,EARM,CAAT;EAUA,oBACE,KAAC,cAAD;IACE,KAAK,EAAE;MAAEa,MAAM,EAANA,MAAF;MAAUsD,QAAQ,EAAE3B,cAApB;MAAoCxC,KAAK,EAALA,KAApC;MAA2CE,QAAQ,EAARA;IAA3C,CADT;IAAA,uBAGE,MAAC,GAAD;MAAK,OAAO,EAAC,aAAb;MAA2B,aAAa,EAAC,QAAzC;MAAkD,KAAK,EAAC,MAAxD;MAAA,WACG,CAACW,MAAD,iBAAW;QAAO,IAAI,EAAC,QAAZ;QAAqB,IAAI,EAAEjB,IAA3B;QAAiC,KAAK,EAAEI;MAAxC,EADd,eAEE,MAAC,SAAD;QACE,KAAK,EAAEkC,KADT;QAEE,KAAK,EAAE7B,KAFT;QAGE,KAAK,EAAEP,KAHT;QAIE,eAAe,EAAEkE,eAJnB;QAKE,OAAO,EAAEN,OALX;QAME,QAAQ,EAAE9B,QANZ;QAOE,QAAQ,EAAEzB,QAAF,aAAEA,QAAF,cAAEA,QAAF,GAAc,KAPxB;QAQE,WAAW,EAAE4B,IARf;QASE,KAAK,EAAE0B,QATT;QAUE,WAAW,EAAER,OAAO,CAAChC,WAAD,CAVtB;QAAA,wBAYE,MAAC,IAAD;UAAM,QAAQ,EAAEqB,YAAhB;UAA8B,IAAI,EAAEP,IAApC;UAAA,WACGd,WAAW,iBACV,KAAC,aAAD;YAAe,QAAQ,EAAC,OAAxB;YAAA,UAAiCA;UAAjC,EAFJ,eAIE,KAAC,IAAD;YACE,GAAG,EAAE/C,kBAAkB,CAACuB,YAAD,EAAeqC,SAAf,CADzB;YAEE,OAAO,EAAEjC,OAFX;YAGE,EAAE,EAAE6D,OAHN;YAIE,OAAO,EAAEzF,SAAS,CAAC0C,OAAD,EAAUyB,WAAV,CAJpB;YAKE,MAAM,EAAEnE,SAAS,CAAC2C,MAAD,EAASyB,UAAT,CALnB;YAME,QAAQ,EAAExB,MAAM,GAAG2B,cAAH,GAAoBoB,SANtC;YAOE,KAAK,EAAE/C,MAAM,GAAGb,KAAH,GAAW4D,SAP1B;YAQE,KAAK,EAAE1B,KART;YASE,WAAW,EAAE5B,WATf;YAUE,QAAQ,EAAEH,QAVZ;YAWE,iBAAeA,QAAQ,GAAG,MAAH,GAAYyD,SAXrC;YAYE,oBAAkBD,YAZpB;YAaE,QAAQ,EAAE,CAAC,CAACtD,KAbd;YAcE,WAAW,EAAE4C,OAAO,CAAChC,WAAD,CAdtB;YAeE,IAAI,EAAEJ,MAAM,GAAGjB,IAAH,GAAUgE,SAfxB;YAgBE,QAAQ,EAAE/C,MAAM,GAAGX,QAAH,GAAc0D,SAhBhC;YAiBE,YAAY,EAAE;UAjBhB,GAkBMxC,UAlBN;YAAA,UAoBGP,MAAM,GAAGC,QAAH,GAAcE,WAAW,CAAChB,KAAD;UApBlC,GAJF,EA0BG,CAACa,MAAD,iBACC,KAAC,WAAD;YAAa,SAAS,MAAtB;YAAA,uBACE,KAAC,QAAD;cACE,sBAAsB,EAAEb,KAD1B;cAEE,KAAK,EAAE;gBACLoE,QAAQ,EAAEtC,SAAF,aAAEA,SAAF,6CAAEA,SAAS,CAAEoC,OAAb,uDAAE,mBAAoBG;cADzB,CAFT;cAKE,IAAI,EAAC,SALP;cAME,KAAK,EAAE;gBACL,sCACKjF,aAAa,CAAC,SAAD,CADlB;cADK,CANT;cAAA,UAYG0B;YAZH;UADF,EA3BJ;QAAA,EAZF,eAyDE,KAAC,UAAD;UAAY,IAAI,EAAEiB;QAAlB,EAzDF;MAAA,EAFF,eA8DE,KAAC,UAAD;QACE,QAAQ,EAAE5B,QADZ;QAEE,EAAE,EAAEwD,YAFN;QAGE,QAAQ,EAAEnD,UAHZ;QAIE,KAAK,EAAEiD;MAJT,EA9DF;IAAA;EAHF,EADF;AA2ED,CAzM+B,CAAzB"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["useMemo","forwardRef","useState","useRef","useEffect","useId","wrapEvent","assignMultipleRefs","useControlledState","useTheme","Select","SelectComp","SelectButton","FilledContainer","HelperText","OutlinedContainer","SelectProvider","Menu","MenuPopover","MenuList","SelectIcon","makeDefaultMultipleRender","makeDefaultRender","Box","IconContainer","listItemStyle","componentMap","outlined","filled","props","forwardedRef","idProp","id","name","variant","color","valueProp","value","defaultValue","multiple","disabled","error","label","placeholder","helperTextProp","helperText","onChangeProp","onChange","onFocus","onBlur","native","children","renderValueProp","renderValue","leadingIcon","overwrittenContainer","CustomContainer","otherProps","setState","e","v","Array","isArray","console","warn","hasFocus","setHasFocus","buttonRef","open","setOpen","fallbackId","theme","Container","handleFocus","handleBlur","handleToggle","isOpen","handleOnChange","selectedValue","target","currentTarget","dataset","find","c","filter","isMac","Boolean","test","navigator","userAgent","key","metaKey","ctrlKey","preventDefault","hasError","inputId","helperTextId","undefined","defaultRenderFn","hasAnySelected","length","labelIsFloating","Comp","current","onSelect","minWidth","offsetWidth"],"sources":["../../../src/Select/Select.tsx"],"sourcesContent":["import type {\r\n SelectHTMLAttributes,\r\n ReactNode,\r\n ChangeEvent,\r\n ComponentType,\r\n ForwardedRef,\r\n ReactElement,\r\n Ref,\r\n} from 'react';\r\nimport { useMemo, forwardRef, useState, useRef, useEffect, useId } from 'react';\r\nimport {\r\n wrapEvent,\r\n assignMultipleRefs,\r\n useControlledState,\r\n} from '@basic-ui/core';\r\n\r\nimport type { Theme } from '../theme';\r\nimport { useTheme } from '../theme';\r\nimport { Select as SelectComp, SelectButton } from './styledComponents';\r\nimport type { FilledContainerProps } from '../TextField/FilledContainer';\r\nimport { FilledContainer } from '../TextField/FilledContainer';\r\nimport { HelperText } from '../TextField/HelperText';\r\nimport { OutlinedContainer } from '../TextField/OutlinedContainer';\r\nimport { SelectProvider } from './context';\r\nimport { Menu, MenuPopover, MenuList } from '../Menu';\r\nimport { SelectIcon } from './SelectIcon';\r\nimport { makeDefaultMultipleRender, makeDefaultRender } from './defaultRender';\r\nimport type { BoxProps } from '../Box';\r\nimport { Box } from '../Box';\r\nimport { IconContainer } from '../TextField/IconContainer';\r\nimport { listItemStyle } from '../ListItem';\r\n\r\nconst componentMap = {\r\n outlined: OutlinedContainer,\r\n filled: FilledContainer,\r\n};\r\n\r\ninterface BaseSelectProps\r\n extends Omit<\r\n BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>,\r\n 'value' | 'defaultValue' | 'onChange'\r\n > {\r\n variant?: 'outlined' | 'filled';\r\n color?: 'primary' | 'secondary';\r\n label?: ReactNode;\r\n helperText?: string;\r\n native?: boolean;\r\n theme?: Theme;\r\n error?: boolean | string;\r\n leadingIcon?: ReactNode;\r\n CustomContainer?: ComponentType<FilledContainerProps>;\r\n}\r\n\r\nexport type SelectProps<ValueType extends string> = BaseSelectProps &\r\n (\r\n | {\r\n multiple?: false | undefined;\r\n value?: ValueType;\r\n defaultValue?: ValueType;\r\n onChange?: (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType\r\n ) => void;\r\n renderValue?: (value?: ValueType | '') => ReactNode;\r\n }\r\n | {\r\n multiple: true;\r\n value?: ValueType[];\r\n defaultValue?: ValueType[];\r\n onChange?: (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType[]\r\n ) => void;\r\n renderValue?: (value?: ValueType[]) => ReactNode;\r\n }\r\n );\r\n\r\nexport const Select = forwardRef(function Select<ValueType extends string>(\r\n props: SelectProps<ValueType>,\r\n forwardedRef: ForwardedRef<HTMLSelectElement | HTMLButtonElement>\r\n) {\r\n const {\r\n id: idProp,\r\n name,\r\n variant = 'outlined',\r\n color = 'primary',\r\n value: valueProp,\r\n defaultValue = props.multiple ? [] : ('' as const),\r\n disabled,\r\n error = false,\r\n label = null,\r\n placeholder,\r\n helperText: helperTextProp,\r\n onChange: onChangeProp,\r\n onFocus,\r\n onBlur,\r\n native = false,\r\n multiple = false,\r\n children,\r\n renderValue: renderValueProp,\r\n leadingIcon = null,\r\n CustomContainer: overwrittenContainer,\r\n ...otherProps\r\n } = props;\r\n const [value, onChange] = useControlledState(\r\n valueProp,\r\n onChangeProp as (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType | ValueType[]\r\n ) => void,\r\n defaultValue,\r\n (setState) => (e, v: ValueType | ValueType[]) => {\r\n setState(v);\r\n }\r\n );\r\n if (multiple && !Array.isArray(value)) {\r\n console.warn(\r\n 'Warning: The `value` prop supplied to <Select> must be an array if `multiple` is true.'\r\n );\r\n }\r\n\r\n const [hasFocus, setHasFocus] = useState(false);\r\n const buttonRef = useRef<HTMLButtonElement | HTMLSelectElement>();\r\n const [open, setOpen] = useState(false);\r\n const fallbackId = useId();\r\n const theme = useTheme();\r\n\r\n const Container =\r\n overwrittenContainer || componentMap[variant] || OutlinedContainer;\r\n\r\n const handleFocus = () => {\r\n setHasFocus(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setHasFocus(false);\r\n };\r\n\r\n const handleToggle = (e: unknown, isOpen: boolean) => {\r\n setOpen(isOpen);\r\n };\r\n\r\n const handleOnChange = (e: any) => {\r\n const selectedValue = native\r\n ? e.target.value\r\n : e.currentTarget.dataset.value;\r\n\r\n if (multiple && Array.isArray(value)) {\r\n if (value.find((c) => c === selectedValue)) {\r\n onChange &&\r\n onChange(e as any, value.filter((c) => c !== selectedValue) as any);\r\n } else {\r\n onChange && onChange(e as any, [...value, selectedValue] as any);\r\n }\r\n\r\n const isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));\r\n if (e.key === ' ' || (isMac && e.metaKey) || (!isMac && e.ctrlKey)) {\r\n e.preventDefault();\r\n }\r\n } else {\r\n onChange && onChange(e as any, selectedValue);\r\n }\r\n };\r\n\r\n const hasError = Boolean(error);\r\n const helperText = typeof error === 'string' ? error : helperTextProp;\r\n\r\n const id = idProp || fallbackId;\r\n const inputId = `${id}-text-field`;\r\n const helperTextId = helperText ? `${id}-helper-text` : undefined;\r\n\r\n const defaultRenderFn = useMemo(\r\n () =>\r\n multiple\r\n ? makeDefaultMultipleRender(children)\r\n : makeDefaultRender<ValueType>(children),\r\n [children, multiple]\r\n );\r\n const renderValue = renderValueProp || defaultRenderFn;\r\n\r\n function hasAnySelected() {\r\n if (multiple) {\r\n return value.length > 0;\r\n } else {\r\n return value !== '';\r\n }\r\n }\r\n const labelIsFloating = hasFocus || open || hasAnySelected();\r\n\r\n const Comp: ComponentType<any> = native\r\n ? (SelectComp as any)\r\n : (SelectButton as any);\r\n\r\n useEffect(() => {\r\n // right after mounting, if the default value in the select element\r\n // is different than the value we have stored in state we need to\r\n // update our state to reflect that.\r\n if (native && buttonRef.current && buttonRef.current.value !== value) {\r\n onChange && onChange({} as any, buttonRef.current.value as ValueType);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n <SelectProvider\r\n value={{ native, onSelect: handleOnChange, value, multiple }}\r\n >\r\n <Box display=\"inline-flex\" flexDirection=\"column\" width=\"100%\">\r\n {!native && <input type=\"hidden\" name={name} value={value} />}\r\n <Container\r\n theme={theme}\r\n label={label}\r\n color={color}\r\n labelIsFloating={labelIsFloating}\r\n inputId={inputId}\r\n hasFocus={hasFocus}\r\n disabled={disabled ?? false}\r\n forceActive={open}\r\n error={hasError}\r\n leadingIcon={Boolean(leadingIcon)}\r\n >\r\n <Menu onChange={handleToggle} open={open}>\r\n {leadingIcon && (\r\n <IconContainer position=\"start\">{leadingIcon}</IconContainer>\r\n )}\r\n <Comp\r\n ref={assignMultipleRefs(forwardedRef, buttonRef)}\r\n variant={variant}\r\n id={inputId}\r\n onFocus={wrapEvent(onFocus, handleFocus)}\r\n onBlur={wrapEvent(onBlur, handleBlur)}\r\n onChange={native ? handleOnChange : undefined}\r\n value={native ? value : undefined}\r\n theme={theme}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n aria-disabled={disabled ? 'true' : undefined}\r\n aria-describedby={helperTextId}\r\n hasLabel={!!label}\r\n leadingIcon={Boolean(leadingIcon)}\r\n name={native ? name : undefined}\r\n multiple={native ? multiple : undefined}\r\n trailingIcon={true}\r\n {...otherProps}\r\n >\r\n {native ? children : renderValue(value as any)}\r\n </Comp>\r\n {!native && (\r\n <MenuPopover usePortal>\r\n <MenuList\r\n defaultActiveItemValue={value}\r\n style={{\r\n minWidth: buttonRef?.current?.offsetWidth,\r\n }}\r\n role=\"listbox\"\r\n __css={{\r\n '& [data-menu-item=\"\"]': {\r\n ...listItemStyle('primary'),\r\n },\r\n }}\r\n >\r\n {children}\r\n </MenuList>\r\n </MenuPopover>\r\n )}\r\n </Menu>\r\n <SelectIcon open={open} />\r\n </Container>\r\n\r\n <HelperText\r\n disabled={disabled}\r\n id={helperTextId}\r\n leftSide={helperText}\r\n error={hasError}\r\n />\r\n </Box>\r\n </SelectProvider>\r\n );\r\n}) as <ValueType extends string>(\r\n p: SelectProps<ValueType> & {\r\n ref?: Ref<HTMLSelectElement | HTMLButtonElement>;\r\n }\r\n) => ReactElement;\r\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SVGAttributes } from 'react';
|
|
2
|
-
import type { BoxProps } from '../Box';
|
|
3
|
-
export declare type SelectIconProps = BoxProps<SVGElement, SVGAttributes<SVGElement>> & {
|
|
4
|
-
open?: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare const SelectIcon: import("react").ForwardRefExoticComponent<Pick<SelectIconProps, "string" | "
|
|
1
|
+
import type { SVGAttributes } from 'react';
|
|
2
|
+
import type { BoxProps } from '../Box';
|
|
3
|
+
export declare type SelectIconProps = BoxProps<SVGElement, SVGAttributes<SVGElement>> & {
|
|
4
|
+
open?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const SelectIcon: import("react").ForwardRefExoticComponent<Pick<SelectIconProps, "string" | "style" | "clipPath" | "filter" | "mask" | "path" | "children" | "fill" | "values" | "local" | keyof import("../Box").BaseProps | keyof import("styled-system").SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> | keyof import("styled-system").LayoutProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> | keyof import("styled-system").FlexboxProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").BorderProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>> | keyof import("styled-system").GridProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").BackgroundProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Background<import("styled-system").TLengthStyledSystem>> | keyof import("styled-system").PositionProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").ShadowProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | "className" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "origin" | "elevation" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "offset" | "textDecoration" | "alignmentBaseline" | "baselineShift" | "clip" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "end" | "x" | "y" | "open" | "name" | "type" | "crossOrigin" | "max" | "min" | "href" | "media" | "target" | "to" | "method" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & import("react").RefAttributes<SVGElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectIcon.js","names":["forwardRef","rem","Box","alpha","PADDING_RIGHT_WITH_ICON","EASING_STANDARD","SelectIcon","props","forwardedRef","open","otherProps","position","top","right","width","height","color","pointerEvents","transform","undefined","transition"],"sources":["../../../src/Select/SelectIcon.tsx"],"sourcesContent":["import type { SVGAttributes } from 'react';\nimport { forwardRef } from 'react';\nimport { rem } from 'polished';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { alpha } from '../color';\nimport { PADDING_RIGHT_WITH_ICON } from '../TextField/consts';\nimport { EASING_STANDARD } from '../motion';\n\nexport type SelectIconProps = BoxProps<\n SVGElement,\n SVGAttributes<SVGElement>\n> & { open?: boolean };\n\nexport const SelectIcon = forwardRef<SVGElement, SelectIconProps>(\n function SelectIcon(props, forwardedRef) {\n const { open, ...otherProps } = props;\n\n return (\n <Box<BoxProps<SVGElement, SVGAttributes<SVGElement>>>\n ref={forwardedRef}\n as=\"svg\"\n aria-hidden={true}\n viewBox=\"0 0 24 24\"\n __css={{\n position: 'absolute',\n top: `calc(50% - ${rem(12)})`,\n right: rem(PADDING_RIGHT_WITH_ICON),\n width: rem(24),\n height: rem(24),\n color: open ? 'primary' : alpha('on.surface', 0.54),\n pointerEvents: 'none',\n transform: open ? 'rotate(180deg)' : undefined,\n transition: `transform .15s ${EASING_STANDARD}, color .15s ${EASING_STANDARD}`,\n }}\n {...otherProps}\n >\n <path fill=\"currentColor\" d=\"M7 10l5 5 5-5z\" />\n </Box>\n );\n }\n);\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,GAAT,QAAoB,UAApB;AAGA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,uBAAT,QAAwC,qBAAxC;AACA,SAASC,eAAT,QAAgC,WAAhC;;AAOA,OAAO,IAAMC,UAAU,gBAAGN,UAAU,CAClC,SAASM,UAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAAyC;EACvC,IAAQC,IAAR,GAAgCF,KAAhC,CAAQE,IAAR;EAAA,IAAiBC,UAAjB,4BAAgCH,KAAhC;;EAEA,oBACE,KAAC,GAAD;IACE,GAAG,EAAEC,YADP;IAEE,EAAE,EAAC,KAFL;IAGE,eAAa,IAHf;IAIE,OAAO,EAAC,WAJV;IAKE,KAAK,EAAE;MACLG,QAAQ,EAAE,UADL;MAELC,GAAG,sCAFE;MAGLC,KAAK,EAAEZ,GAAG,CAACG,uBAAD,CAHL;MAILU,KAAK,UAJA;MAKLC,MAAM,UALD;MAMLC,KAAK,EAAEP,IAAI,GAAG,SAAH,GAAeN,KAAK,CAAC,YAAD,EAAe,IAAf,CAN1B;MAOLc,aAAa,EAAE,MAPV;MAQLC,SAAS,EAAET,IAAI,GAAG,gBAAH,GAAsBU,SARhC;MASLC,UAAU,2BAAoBf,eAApB,0BAAmDA,eAAnD;IATL;EALT,GAgBMK,UAhBN;IAAA,uBAkBE;MAAM,IAAI,EAAC,cAAX;MAA0B,CAAC,EAAC;IAA5B;EAlBF,GADF;AAsBD,CA1BiC,CAA7B"}
|
|
1
|
+
{"version":3,"file":"SelectIcon.js","names":["forwardRef","rem","Box","alpha","PADDING_RIGHT_WITH_ICON","EASING_STANDARD","SelectIcon","props","forwardedRef","open","otherProps","position","top","right","width","height","color","pointerEvents","transform","undefined","transition"],"sources":["../../../src/Select/SelectIcon.tsx"],"sourcesContent":["import type { SVGAttributes } from 'react';\r\nimport { forwardRef } from 'react';\r\nimport { rem } from 'polished';\r\n\r\nimport type { BoxProps } from '../Box';\r\nimport { Box } from '../Box';\r\nimport { alpha } from '../color';\r\nimport { PADDING_RIGHT_WITH_ICON } from '../TextField/consts';\r\nimport { EASING_STANDARD } from '../motion';\r\n\r\nexport type SelectIconProps = BoxProps<\r\n SVGElement,\r\n SVGAttributes<SVGElement>\r\n> & { open?: boolean };\r\n\r\nexport const SelectIcon = forwardRef<SVGElement, SelectIconProps>(\r\n function SelectIcon(props, forwardedRef) {\r\n const { open, ...otherProps } = props;\r\n\r\n return (\r\n <Box<BoxProps<SVGElement, SVGAttributes<SVGElement>>>\r\n ref={forwardedRef}\r\n as=\"svg\"\r\n aria-hidden={true}\r\n viewBox=\"0 0 24 24\"\r\n __css={{\r\n position: 'absolute',\r\n top: `calc(50% - ${rem(12)})`,\r\n right: rem(PADDING_RIGHT_WITH_ICON),\r\n width: rem(24),\r\n height: rem(24),\r\n color: open ? 'primary' : alpha('on.surface', 0.54),\r\n pointerEvents: 'none',\r\n transform: open ? 'rotate(180deg)' : undefined,\r\n transition: `transform .15s ${EASING_STANDARD}, color .15s ${EASING_STANDARD}`,\r\n }}\r\n {...otherProps}\r\n >\r\n <path fill=\"currentColor\" d=\"M7 10l5 5 5-5z\" />\r\n </Box>\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,GAAT,QAAoB,UAApB;AAGA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,uBAAT,QAAwC,qBAAxC;AACA,SAASC,eAAT,QAAgC,WAAhC;;AAOA,OAAO,IAAMC,UAAU,gBAAGN,UAAU,CAClC,SAASM,UAAT,CAAoBC,KAApB,EAA2BC,YAA3B,EAAyC;EACvC,IAAQC,IAAR,GAAgCF,KAAhC,CAAQE,IAAR;EAAA,IAAiBC,UAAjB,4BAAgCH,KAAhC;;EAEA,oBACE,KAAC,GAAD;IACE,GAAG,EAAEC,YADP;IAEE,EAAE,EAAC,KAFL;IAGE,eAAa,IAHf;IAIE,OAAO,EAAC,WAJV;IAKE,KAAK,EAAE;MACLG,QAAQ,EAAE,UADL;MAELC,GAAG,sCAFE;MAGLC,KAAK,EAAEZ,GAAG,CAACG,uBAAD,CAHL;MAILU,KAAK,UAJA;MAKLC,MAAM,UALD;MAMLC,KAAK,EAAEP,IAAI,GAAG,SAAH,GAAeN,KAAK,CAAC,YAAD,EAAe,IAAf,CAN1B;MAOLc,aAAa,EAAE,MAPV;MAQLC,SAAS,EAAET,IAAI,GAAG,gBAAH,GAAsBU,SARhC;MASLC,UAAU,2BAAoBf,eAApB,0BAAmDA,eAAnD;IATL;EALT,GAgBMK,UAhBN;IAAA,uBAkBE;MAAM,IAAI,EAAC,cAAX;MAA0B,CAAC,EAAC;IAA5B;EAlBF,GADF;AAsBD,CA1BiC,CAA7B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { MouseEvent, KeyboardEvent } from 'react';
|
|
2
|
-
export interface SelectContextProps<ValueType extends string> {
|
|
3
|
-
native: boolean;
|
|
4
|
-
value?: ValueType | ValueType[];
|
|
5
|
-
onSelect: (e: MouseEvent<HTMLLIElement> | KeyboardEvent<HTMLLIElement>) => void;
|
|
6
|
-
multiple: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const SelectProvider: import("react").Provider<SelectContextProps<string>>;
|
|
9
|
-
export declare const useSelectContext: () => SelectContextProps<string>;
|
|
1
|
+
import type { MouseEvent, KeyboardEvent } from 'react';
|
|
2
|
+
export interface SelectContextProps<ValueType extends string> {
|
|
3
|
+
native: boolean;
|
|
4
|
+
value?: ValueType | ValueType[];
|
|
5
|
+
onSelect: (e: MouseEvent<HTMLLIElement> | KeyboardEvent<HTMLLIElement>) => void;
|
|
6
|
+
multiple: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const SelectProvider: import("react").Provider<SelectContextProps<string>>;
|
|
9
|
+
export declare const useSelectContext: () => SelectContextProps<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["useContext","createContext","selectContext","native","onSelect","multiple","SelectProvider","Provider","useSelectContext"],"sources":["../../../src/Select/context.ts"],"sourcesContent":["import type { MouseEvent, KeyboardEvent } from 'react';\nimport { useContext, createContext } from 'react';\n\n// Select Component\nexport interface SelectContextProps<ValueType extends string> {\n native: boolean;\n value?: ValueType | ValueType[];\n onSelect: (\n e: MouseEvent<HTMLLIElement> | KeyboardEvent<HTMLLIElement>\n ) => void;\n multiple: boolean;\n}\n\nconst selectContext = createContext<SelectContextProps<string>>({\n native: false,\n onSelect: () => {\n // noop\n },\n multiple: false,\n});\nexport const { Provider: SelectProvider } = selectContext;\nexport const useSelectContext = () => useContext(selectContext);\n"],"mappings":"AACA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,OAA1C,C,CAEA;;AAUA,IAAMC,aAAa,gBAAGD,aAAa,CAA6B;EAC9DE,MAAM,EAAE,KADsD;EAE9DC,QAAQ,EAAE,oBAAM,CACd;EACD,CAJ6D;EAK9DC,QAAQ,EAAE;AALoD,CAA7B,CAAnC;AAOO,IAAkBC,cAAlB,GAAqCJ,aAArC,CAAQK,QAAR;;AACP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;EAAA,OAAMR,UAAU,CAACE,aAAD,CAAhB;AAAA,CAAzB"}
|
|
1
|
+
{"version":3,"file":"context.js","names":["useContext","createContext","selectContext","native","onSelect","multiple","SelectProvider","Provider","useSelectContext"],"sources":["../../../src/Select/context.ts"],"sourcesContent":["import type { MouseEvent, KeyboardEvent } from 'react';\r\nimport { useContext, createContext } from 'react';\r\n\r\n// Select Component\r\nexport interface SelectContextProps<ValueType extends string> {\r\n native: boolean;\r\n value?: ValueType | ValueType[];\r\n onSelect: (\r\n e: MouseEvent<HTMLLIElement> | KeyboardEvent<HTMLLIElement>\r\n ) => void;\r\n multiple: boolean;\r\n}\r\n\r\nconst selectContext = createContext<SelectContextProps<string>>({\r\n native: false,\r\n onSelect: () => {\r\n // noop\r\n },\r\n multiple: false,\r\n});\r\nexport const { Provider: SelectProvider } = selectContext;\r\nexport const useSelectContext = () => useContext(selectContext);\r\n"],"mappings":"AACA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,OAA1C,C,CAEA;;AAUA,IAAMC,aAAa,gBAAGD,aAAa,CAA6B;EAC9DE,MAAM,EAAE,KADsD;EAE9DC,QAAQ,EAAE,oBAAM,CACd;EACD,CAJ6D;EAK9DC,QAAQ,EAAE;AALoD,CAA7B,CAAnC;AAOO,IAAkBC,cAAlB,GAAqCJ,aAArC,CAAQK,QAAR;;AACP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;EAAA,OAAMR,UAAU,CAACE,aAAD,CAAhB;AAAA,CAAzB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export declare const makeDefaultRender: <T extends string>(children?: ReactNode) => (val: "" | T | undefined) => ReactNode;
|
|
3
|
-
export declare const makeDefaultMultipleRender: <T extends string>(children?: ReactNode) => (val: T[] | undefined) => ReactNode;
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export declare const makeDefaultRender: <T extends string>(children?: ReactNode) => (val: "" | T | undefined) => ReactNode;
|
|
3
|
+
export declare const makeDefaultMultipleRender: <T extends string>(children?: ReactNode) => (val: T[] | undefined) => ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRender.js","names":["Children","isValidElement","Box","makeDefaultRender","children","val","undefined","allChildren","toArray","i","length","child","String","props","value","makeDefaultMultipleRender","ret","set","Set","has","push","maxWidth","overflow","textOverflow","whiteSpace","join"],"sources":["../../../src/Select/defaultRender.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Children, isValidElement } from 'react';\n\nimport { Box } from '../Box';\n\nexport const makeDefaultRender =\n <T extends string>(children?: ReactNode) =>\n (val: T | '' | undefined): ReactNode => {\n if (children && val !== undefined) {\n const allChildren = Children.toArray(children);\n for (let i = 0; i < allChildren.length; i++) {\n const child = allChildren[i];\n if (isValidElement(child) && String(child.props.value) === val) {\n return child.props.children;\n }\n }\n }\n return val || undefined;\n };\n\nexport const makeDefaultMultipleRender =\n <T extends string>(children?: ReactNode) =>\n (val: T[] | undefined): ReactNode => {\n const ret = [];\n if (children && val !== undefined && val.length > 0) {\n const set = new Set<string>(val);\n const allChildren = Children.toArray(children);\n for (let i = 0; i < allChildren.length; i++) {\n const child = allChildren[i];\n if (isValidElement(child) && set.has(String(child.props.value))) {\n ret.push(child.props.children);\n }\n }\n }\n\n return (\n <Box\n as=\"span\"\n sx={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n >\n {ret.join(', ')}\n </Box>\n );\n };\n"],"mappings":"AACA,SAASA,QAAT,EAAmBC,cAAnB,QAAyC,OAAzC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAEA,OAAO,IAAMC,iBAAiB,GAC5B,SADWA,iBACX,CAAmBC,QAAnB;EAAA,OACA,UAACC,GAAD,EAAwC;IACtC,IAAID,QAAQ,IAAIC,GAAG,KAAKC,SAAxB,EAAmC;MACjC,IAAMC,WAAW,GAAGP,QAAQ,CAACQ,OAAT,CAAiBJ,QAAjB,CAApB;;MACA,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,WAAW,CAACG,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;QAC3C,IAAME,KAAK,GAAGJ,WAAW,CAACE,CAAD,CAAzB;;QACA,IAAI,cAAAR,cAAc,CAACU,KAAD,CAAd,IAAyBC,MAAM,CAACD,KAAK,CAACE,KAAN,CAAYC,KAAb,CAAN,KAA8BT,GAA3D,EAAgE;UAC9D,OAAOM,KAAK,CAACE,KAAN,CAAYT,QAAnB;QACD;MACF;IACF;;IACD,OAAOC,GAAG,IAAIC,SAAd;EACD,CAZD;AAAA,CADK;AAeP,OAAO,IAAMS,yBAAyB,GACpC,SADWA,yBACX,CAAmBX,QAAnB;EAAA,OACA,UAACC,GAAD,EAAqC;IACnC,IAAMW,GAAG,GAAG,EAAZ;;IACA,IAAIZ,QAAQ,IAAIC,GAAG,KAAKC,SAApB,IAAiCD,GAAG,CAACK,MAAJ,GAAa,CAAlD,EAAqD;MACnD,IAAMO,GAAG,GAAG,IAAIC,GAAJ,CAAgBb,GAAhB,CAAZ;MACA,IAAME,WAAW,GAAGP,QAAQ,CAACQ,OAAT,CAAiBJ,QAAjB,CAApB;;MACA,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,WAAW,CAACG,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;QAC3C,IAAME,KAAK,GAAGJ,WAAW,CAACE,CAAD,CAAzB;;QACA,IAAI,cAAAR,cAAc,CAACU,KAAD,CAAd,IAAyBM,GAAG,CAACE,GAAJ,CAAQP,MAAM,CAACD,KAAK,CAACE,KAAN,CAAYC,KAAb,CAAd,CAA7B,EAAiE;UAC/DE,GAAG,CAACI,IAAJ,CAAST,KAAK,CAACE,KAAN,CAAYT,QAArB;QACD;MACF;IACF;;IAED,oBACE,KAAC,GAAD;MACE,EAAE,EAAC,MADL;MAEE,EAAE,EAAE;QACFiB,QAAQ,EAAE,MADR;QAEFC,QAAQ,EAAE,QAFR;QAGFC,YAAY,EAAE,UAHZ;QAIFC,UAAU,EAAE;MAJV,CAFN;MAAA,UASGR,GAAG,CAACS,IAAJ,CAAS,IAAT;IATH,EADF;EAaD,CA3BD;AAAA,CADK"}
|
|
1
|
+
{"version":3,"file":"defaultRender.js","names":["Children","isValidElement","Box","makeDefaultRender","children","val","undefined","allChildren","toArray","i","length","child","String","props","value","makeDefaultMultipleRender","ret","set","Set","has","push","maxWidth","overflow","textOverflow","whiteSpace","join"],"sources":["../../../src/Select/defaultRender.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\r\nimport { Children, isValidElement } from 'react';\r\n\r\nimport { Box } from '../Box';\r\n\r\nexport const makeDefaultRender =\r\n <T extends string>(children?: ReactNode) =>\r\n (val: T | '' | undefined): ReactNode => {\r\n if (children && val !== undefined) {\r\n const allChildren = Children.toArray(children);\r\n for (let i = 0; i < allChildren.length; i++) {\r\n const child = allChildren[i];\r\n if (isValidElement(child) && String(child.props.value) === val) {\r\n return child.props.children;\r\n }\r\n }\r\n }\r\n return val || undefined;\r\n };\r\n\r\nexport const makeDefaultMultipleRender =\r\n <T extends string>(children?: ReactNode) =>\r\n (val: T[] | undefined): ReactNode => {\r\n const ret = [];\r\n if (children && val !== undefined && val.length > 0) {\r\n const set = new Set<string>(val);\r\n const allChildren = Children.toArray(children);\r\n for (let i = 0; i < allChildren.length; i++) {\r\n const child = allChildren[i];\r\n if (isValidElement(child) && set.has(String(child.props.value))) {\r\n ret.push(child.props.children);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <Box\r\n as=\"span\"\r\n sx={{\r\n maxWidth: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n }}\r\n >\r\n {ret.join(', ')}\r\n </Box>\r\n );\r\n };\r\n"],"mappings":"AACA,SAASA,QAAT,EAAmBC,cAAnB,QAAyC,OAAzC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAEA,OAAO,IAAMC,iBAAiB,GAC5B,SADWA,iBACX,CAAmBC,QAAnB;EAAA,OACA,UAACC,GAAD,EAAwC;IACtC,IAAID,QAAQ,IAAIC,GAAG,KAAKC,SAAxB,EAAmC;MACjC,IAAMC,WAAW,GAAGP,QAAQ,CAACQ,OAAT,CAAiBJ,QAAjB,CAApB;;MACA,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,WAAW,CAACG,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;QAC3C,IAAME,KAAK,GAAGJ,WAAW,CAACE,CAAD,CAAzB;;QACA,IAAI,cAAAR,cAAc,CAACU,KAAD,CAAd,IAAyBC,MAAM,CAACD,KAAK,CAACE,KAAN,CAAYC,KAAb,CAAN,KAA8BT,GAA3D,EAAgE;UAC9D,OAAOM,KAAK,CAACE,KAAN,CAAYT,QAAnB;QACD;MACF;IACF;;IACD,OAAOC,GAAG,IAAIC,SAAd;EACD,CAZD;AAAA,CADK;AAeP,OAAO,IAAMS,yBAAyB,GACpC,SADWA,yBACX,CAAmBX,QAAnB;EAAA,OACA,UAACC,GAAD,EAAqC;IACnC,IAAMW,GAAG,GAAG,EAAZ;;IACA,IAAIZ,QAAQ,IAAIC,GAAG,KAAKC,SAApB,IAAiCD,GAAG,CAACK,MAAJ,GAAa,CAAlD,EAAqD;MACnD,IAAMO,GAAG,GAAG,IAAIC,GAAJ,CAAgBb,GAAhB,CAAZ;MACA,IAAME,WAAW,GAAGP,QAAQ,CAACQ,OAAT,CAAiBJ,QAAjB,CAApB;;MACA,KAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,WAAW,CAACG,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;QAC3C,IAAME,KAAK,GAAGJ,WAAW,CAACE,CAAD,CAAzB;;QACA,IAAI,cAAAR,cAAc,CAACU,KAAD,CAAd,IAAyBM,GAAG,CAACE,GAAJ,CAAQP,MAAM,CAACD,KAAK,CAACE,KAAN,CAAYC,KAAb,CAAd,CAA7B,EAAiE;UAC/DE,GAAG,CAACI,IAAJ,CAAST,KAAK,CAACE,KAAN,CAAYT,QAArB;QACD;MACF;IACF;;IAED,oBACE,KAAC,GAAD;MACE,EAAE,EAAC,MADL;MAEE,EAAE,EAAE;QACFiB,QAAQ,EAAE,MADR;QAEFC,QAAQ,EAAE,QAFR;QAGFC,YAAY,EAAE,UAHZ;QAIFC,UAAU,EAAE;MAJV,CAFN;MAAA,UASGR,GAAG,CAACS,IAAJ,CAAS,IAAT;IATH,EADF;EAaD,CA3BD;AAAA,CADK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './Select';
|
|
1
|
+
export * from './Select';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Select/index.ts"],"sourcesContent":["export * from './Select';\n"],"mappings":"AAAA,cAAc,UAAd"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Select/index.ts"],"sourcesContent":["export * from './Select';\r\n"],"mappings":"AAAA,cAAc,UAAd"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type { ElementType, RefAttributes, SelectHTMLAttributes } from 'react';
|
|
2
|
-
import type { Theme } from '../theme';
|
|
3
|
-
export interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
4
|
-
as?: ElementType<any>;
|
|
5
|
-
variant?: 'filled' | 'outlined';
|
|
6
|
-
hasLabel?: boolean;
|
|
7
|
-
theme: Theme;
|
|
8
|
-
leadingIcon?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const Select: import("react").ForwardRefExoticComponent<SelectProps & RefAttributes<HTMLSelectElement>>;
|
|
11
|
-
export declare const SelectButton: import("react").ForwardRefExoticComponent<SelectProps & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
12
|
-
as?: ElementType<any> | undefined;
|
|
13
|
-
innerAs?: ElementType<any> | undefined;
|
|
14
|
-
onClick?: ((e: import("react").KeyboardEvent<HTMLButtonElement> | import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void) | undefined;
|
|
15
|
-
} & RefAttributes<HTMLButtonElement>>;
|
|
1
|
+
import type { ElementType, RefAttributes, SelectHTMLAttributes } from 'react';
|
|
2
|
+
import type { Theme } from '../theme';
|
|
3
|
+
export interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
4
|
+
as?: ElementType<any>;
|
|
5
|
+
variant?: 'filled' | 'outlined';
|
|
6
|
+
hasLabel?: boolean;
|
|
7
|
+
theme: Theme;
|
|
8
|
+
leadingIcon?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const Select: import("react").ForwardRefExoticComponent<SelectProps & RefAttributes<HTMLSelectElement>>;
|
|
11
|
+
export declare const SelectButton: import("react").ForwardRefExoticComponent<SelectProps & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
12
|
+
as?: ElementType<any> | undefined;
|
|
13
|
+
innerAs?: ElementType<any> | undefined;
|
|
14
|
+
onClick?: ((e: import("react").KeyboardEvent<HTMLButtonElement> | import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void) | undefined;
|
|
15
|
+
} & RefAttributes<HTMLButtonElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styledComponents.js","names":["forwardRef","MenuButton","BaseMenuButton","Input","Select","forwardedRef","as","asProp","props","InputSelect","SelectButton","ref","children"],"sources":["../../../src/Select/styledComponents.tsx"],"sourcesContent":["import type {\n ElementType,\n FC,\n RefAttributes,\n SelectHTMLAttributes,\n} from 'react';\nimport { forwardRef } from 'react';\nimport type { MenuButtonProps } from '@basic-ui/core';\nimport { MenuButton as BaseMenuButton } from '@basic-ui/core';\n\nimport type { Theme } from '../theme';\nimport { Input } from '../TextField/Input';\n\nexport interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {\n as?: ElementType<any>;\n variant?: 'filled' | 'outlined';\n hasLabel?: boolean;\n theme: Theme;\n leadingIcon?: boolean;\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n ({ as: asProp = 'select', ...props }, forwardedRef) => {\n const InputSelect: FC<SelectProps & RefAttributes<HTMLSelectElement>> =\n Input as any;\n\n return <InputSelect as={asProp} ref={forwardedRef} {...props} />;\n }\n);\n\nexport const SelectButton = forwardRef<\n HTMLButtonElement,\n SelectProps & MenuButtonProps\n>(({ as = 'div', children, ...props }, ref) => (\n <BaseMenuButton as={Input} innerAs={as} ref={ref} tabIndex={0} {...props}>\n {children}\n </BaseMenuButton>\n));\n"],"mappings":";;;;AAMA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,gBAA7C;AAGA,SAASC,KAAT,QAAsB,oBAAtB;;AAUA,OAAO,IAAMC,MAAM,gBAAGJ,UAAU,CAC9B,gBAAsCK,YAAtC,EAAuD;EAAA,mBAApDC,EAAoD;EAAA,IAAhDC,MAAgD,wBAAvC,QAAuC;EAAA,IAA1BC,KAA0B;;EACrD,IAAMC,WAA+D,GACnEN,KADF;EAGA,oBAAO,KAAC,WAAD;IAAa,EAAE,EAAEI,MAAjB;IAAyB,GAAG,EAAEF;EAA9B,GAAgDG,KAAhD,EAAP;AACD,CAN6B,CAAzB;AASP,OAAO,IAAME,YAAY,gBAAGV,UAAU,CAGpC,iBAAqCW,GAArC;EAAA,qBAAGL,EAAH;EAAA,IAAGA,EAAH,yBAAQ,KAAR;EAAA,IAAeM,QAAf,SAAeA,QAAf;EAAA,IAA4BJ,KAA5B;;EAAA,oBACA,KAAC,cAAD;IAAgB,EAAE,EAAEL,KAApB;IAA2B,OAAO,EAAEG,EAApC;IAAwC,GAAG,EAAEK,GAA7C;IAAkD,QAAQ,EAAE;EAA5D,GAAmEH,KAAnE;IAAA,UACGI;EADH,GADA;AAAA,CAHoC,CAA/B"}
|
|
1
|
+
{"version":3,"file":"styledComponents.js","names":["forwardRef","MenuButton","BaseMenuButton","Input","Select","forwardedRef","as","asProp","props","InputSelect","SelectButton","ref","children"],"sources":["../../../src/Select/styledComponents.tsx"],"sourcesContent":["import type {\r\n ElementType,\r\n FC,\r\n RefAttributes,\r\n SelectHTMLAttributes,\r\n} from 'react';\r\nimport { forwardRef } from 'react';\r\nimport type { MenuButtonProps } from '@basic-ui/core';\r\nimport { MenuButton as BaseMenuButton } from '@basic-ui/core';\r\n\r\nimport type { Theme } from '../theme';\r\nimport { Input } from '../TextField/Input';\r\n\r\nexport interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {\r\n as?: ElementType<any>;\r\n variant?: 'filled' | 'outlined';\r\n hasLabel?: boolean;\r\n theme: Theme;\r\n leadingIcon?: boolean;\r\n}\r\n\r\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\r\n ({ as: asProp = 'select', ...props }, forwardedRef) => {\r\n const InputSelect: FC<SelectProps & RefAttributes<HTMLSelectElement>> =\r\n Input as any;\r\n\r\n return <InputSelect as={asProp} ref={forwardedRef} {...props} />;\r\n }\r\n);\r\n\r\nexport const SelectButton = forwardRef<\r\n HTMLButtonElement,\r\n SelectProps & MenuButtonProps\r\n>(({ as = 'div', children, ...props }, ref) => (\r\n <BaseMenuButton as={Input} innerAs={as} ref={ref} tabIndex={0} {...props}>\r\n {children}\r\n </BaseMenuButton>\r\n));\r\n"],"mappings":";;;;AAMA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,UAAU,IAAIC,cAAvB,QAA6C,gBAA7C;AAGA,SAASC,KAAT,QAAsB,oBAAtB;;AAUA,OAAO,IAAMC,MAAM,gBAAGJ,UAAU,CAC9B,gBAAsCK,YAAtC,EAAuD;EAAA,mBAApDC,EAAoD;EAAA,IAAhDC,MAAgD,wBAAvC,QAAuC;EAAA,IAA1BC,KAA0B;;EACrD,IAAMC,WAA+D,GACnEN,KADF;EAGA,oBAAO,KAAC,WAAD;IAAa,EAAE,EAAEI,MAAjB;IAAyB,GAAG,EAAEF;EAA9B,GAAgDG,KAAhD,EAAP;AACD,CAN6B,CAAzB;AASP,OAAO,IAAME,YAAY,gBAAGV,UAAU,CAGpC,iBAAqCW,GAArC;EAAA,qBAAGL,EAAH;EAAA,IAAGA,EAAH,yBAAQ,KAAR;EAAA,IAAeM,QAAf,SAAeA,QAAf;EAAA,IAA4BJ,KAA5B;;EAAA,oBACA,KAAC,cAAD;IAAgB,EAAE,EAAEL,KAApB;IAA2B,OAAO,EAAEG,EAApC;IAAwC,GAAG,EAAEK,GAA7C;IAAkD,QAAQ,EAAE;EAA5D,GAAmEH,KAAnE;IAAA,UACGI;EADH,GADA;AAAA,CAHoC,CAA/B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ReactElement, Ref } from 'react';
|
|
2
|
-
import type { MenuItemProps as MenuItemPropsCore } from '@basic-ui/core';
|
|
3
|
-
import type { BoxProps } from '../Box';
|
|
4
|
-
declare type MenuItemProps = MenuItemPropsCore & BoxProps;
|
|
5
|
-
export interface SelectItemProps<ValueType extends string> extends MenuItemProps {
|
|
6
|
-
value: ValueType;
|
|
7
|
-
}
|
|
8
|
-
export declare const SelectItem: <ValueType extends string>(p: SelectItemProps<ValueType> & {
|
|
9
|
-
ref?: Ref<HTMLLIElement> | undefined;
|
|
10
|
-
}) => ReactElement;
|
|
11
|
-
export {};
|
|
1
|
+
import type { ReactElement, Ref } from 'react';
|
|
2
|
+
import type { MenuItemProps as MenuItemPropsCore } from '@basic-ui/core';
|
|
3
|
+
import type { BoxProps } from '../Box';
|
|
4
|
+
declare type MenuItemProps = MenuItemPropsCore & BoxProps;
|
|
5
|
+
export interface SelectItemProps<ValueType extends string> extends MenuItemProps {
|
|
6
|
+
value: ValueType;
|
|
7
|
+
}
|
|
8
|
+
export declare const SelectItem: <ValueType extends string>(p: SelectItemProps<ValueType> & {
|
|
9
|
+
ref?: Ref<HTMLLIElement> | undefined;
|
|
10
|
+
}) => ReactElement;
|
|
11
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItem.js","names":["forwardRef","wrapEvent","MenuItem","MenuItemCore","useSelectContext","Box","ref","as","props","ZERO_WIDTH_SPACE","SelectItem","forwardedRef","Comp","onSelectProp","onSelect","children","valueProp","value","disabled","onKeyDown","otherProps","native","selectedValue","multiple","undefined","String","selected","Array","isArray","Boolean","find","v"],"sources":["../../../src/SelectItem/SelectItem.tsx"],"sourcesContent":["import type { ForwardedRef, ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport { wrapEvent, MenuItem as MenuItemCore } from '@basic-ui/core';\nimport type { MenuItemProps as MenuItemPropsCore } from '@basic-ui/core';\n\nimport { useSelectContext } from '../Select/context';\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\ntype MenuItemProps = MenuItemPropsCore & BoxProps;\n\nconst MenuItem = forwardRef<HTMLLIElement, MenuItemProps>(\n ({ as = 'li', ...props }, ref) => (\n <MenuItemCore as={Box} innerAs={as} ref={ref} {...props} />\n )\n);\n\nexport interface SelectItemProps<ValueType extends string>\n extends MenuItemProps {\n value: ValueType;\n}\n\nconst ZERO_WIDTH_SPACE = '\\u200b';\nexport const SelectItem = forwardRef(function SelectItem<\n ValueType extends string\n>(\n props: SelectItemProps<ValueType>,\n forwardedRef: ForwardedRef<HTMLLIElement>\n) {\n const {\n as: Comp = MenuItem,\n onSelect: onSelectProp,\n children,\n value: valueProp,\n disabled,\n onKeyDown,\n ...otherProps\n } = props;\n const {\n native,\n onSelect,\n value: selectedValue,\n multiple,\n } = useSelectContext();\n const value =\n valueProp !== undefined && valueProp !== null\n ? String(valueProp)\n : (children as string);\n\n if (native) {\n return (\n <option\n ref={forwardedRef}\n value={value}\n disabled={disabled}\n {...(otherProps as any)}\n >\n {children}\n </option>\n );\n }\n\n if (children === undefined && disabled) {\n return null;\n }\n\n let selected = false;\n if (multiple && Array.isArray(selectedValue)) {\n selected = Boolean(selectedValue.find((v) => v === value));\n } else {\n selected = value === String(selectedValue);\n }\n return (\n <Comp\n as={MenuItem}\n onSelect={wrapEvent(onSelectProp, onSelect as any)}\n data-value={value}\n disabled={disabled}\n ref={forwardedRef}\n role=\"option\"\n aria-selected={selected ? 'true' : undefined}\n selected={selected}\n {...otherProps}\n >\n {children || ZERO_WIDTH_SPACE}\n </Comp>\n );\n}) as <ValueType extends string>(\n p: SelectItemProps<ValueType> & {\n ref?: Ref<HTMLLIElement>;\n }\n) => ReactElement;\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,SAAT,EAAoBC,QAAQ,IAAIC,YAAhC,QAAoD,gBAApD;AAGA,SAASC,gBAAT,QAAiC,mBAAjC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAIA,IAAMH,QAAQ,gBAAGF,UAAU,CACzB,gBAA0BM,GAA1B;EAAA,mBAAGC,EAAH;EAAA,IAAGA,EAAH,wBAAQ,IAAR;EAAA,IAAiBC,KAAjB;;EAAA,oBACE,KAAC,YAAD;IAAc,EAAE,EAAEH,GAAlB;IAAuB,OAAO,EAAEE,EAAhC;IAAoC,GAAG,EAAED;EAAzC,GAAkDE,KAAlD,EADF;AAAA,CADyB,CAA3B;AAWA,IAAMC,gBAAgB,GAAG,QAAzB;AACA,OAAO,IAAMC,UAAU,gBAAGV,UAAU,CAAC,SAASU,UAAT,CAGnCF,KAHmC,EAInCG,YAJmC,EAKnC;EACA,gBAQIH,KARJ,CACED,EADF;EAAA,IACMK,IADN,0BACaV,QADb;EAAA,IAEYW,YAFZ,GAQIL,KARJ,CAEEM,QAFF;EAAA,IAGEC,QAHF,GAQIP,KARJ,CAGEO,QAHF;EAAA,IAISC,SAJT,GAQIR,KARJ,CAIES,KAJF;EAAA,IAKEC,QALF,GAQIV,KARJ,CAKEU,QALF;EAAA,IAMEC,SANF,GAQIX,KARJ,CAMEW,SANF;EAAA,IAOKC,UAPL,4BAQIZ,KARJ;;EASA,wBAKIJ,gBAAgB,EALpB;EAAA,IACEiB,MADF,qBACEA,MADF;EAAA,IAEEP,QAFF,qBAEEA,QAFF;EAAA,IAGSQ,aAHT,qBAGEL,KAHF;EAAA,IAIEM,QAJF,qBAIEA,QAJF;;EAMA,IAAMN,KAAK,GACTD,SAAS,KAAKQ,SAAd,IAA2BR,SAAS,KAAK,IAAzC,GACIS,MAAM,CAACT,SAAD,CADV,GAEKD,QAHP;;EAKA,IAAIM,MAAJ,EAAY;IACV,oBACE;MACE,GAAG,EAAEV,YADP;MAEE,KAAK,EAAEM,KAFT;MAGE,QAAQ,EAAEC;IAHZ,GAIOE,UAJP;MAAA,UAMGL;IANH,GADF;EAUD;;EAED,IAAIA,QAAQ,KAAKS,SAAb,IAA0BN,QAA9B,EAAwC;IACtC,OAAO,IAAP;EACD;;EAED,IAAIQ,QAAQ,GAAG,KAAf;;EACA,IAAIH,QAAQ,IAAII,KAAK,CAACC,OAAN,CAAcN,aAAd,CAAhB,EAA8C;IAC5CI,QAAQ,GAAGG,OAAO,CAACP,aAAa,CAACQ,IAAd,CAAmB,UAACC,CAAD;MAAA,OAAOA,CAAC,KAAKd,KAAb;IAAA,CAAnB,CAAD,CAAlB;EACD,CAFD,MAEO;IACLS,QAAQ,GAAGT,KAAK,KAAKQ,MAAM,CAACH,aAAD,CAA3B;EACD;;EACD,oBACE,KAAC,IAAD;IACE,EAAE,EAAEpB,QADN;IAEE,QAAQ,EAAED,SAAS,CAACY,YAAD,EAAeC,QAAf,CAFrB;IAGE,cAAYG,KAHd;IAIE,QAAQ,EAAEC,QAJZ;IAKE,GAAG,EAAEP,YALP;IAME,IAAI,EAAC,QANP;IAOE,iBAAee,QAAQ,GAAG,MAAH,GAAYF,SAPrC;IAQE,QAAQ,EAAEE;EARZ,GASMN,UATN;IAAA,UAWGL,QAAQ,IAAIN;EAXf,GADF;AAeD,CAhEmC,CAA7B"}
|
|
1
|
+
{"version":3,"file":"SelectItem.js","names":["forwardRef","wrapEvent","MenuItem","MenuItemCore","useSelectContext","Box","ref","as","props","ZERO_WIDTH_SPACE","SelectItem","forwardedRef","Comp","onSelectProp","onSelect","children","valueProp","value","disabled","onKeyDown","otherProps","native","selectedValue","multiple","undefined","String","selected","Array","isArray","Boolean","find","v"],"sources":["../../../src/SelectItem/SelectItem.tsx"],"sourcesContent":["import type { ForwardedRef, ReactElement, Ref } from 'react';\r\nimport { forwardRef } from 'react';\r\nimport { wrapEvent, MenuItem as MenuItemCore } from '@basic-ui/core';\r\nimport type { MenuItemProps as MenuItemPropsCore } from '@basic-ui/core';\r\n\r\nimport { useSelectContext } from '../Select/context';\r\nimport type { BoxProps } from '../Box';\r\nimport { Box } from '../Box';\r\n\r\ntype MenuItemProps = MenuItemPropsCore & BoxProps;\r\n\r\nconst MenuItem = forwardRef<HTMLLIElement, MenuItemProps>(\r\n ({ as = 'li', ...props }, ref) => (\r\n <MenuItemCore as={Box} innerAs={as} ref={ref} {...props} />\r\n )\r\n);\r\n\r\nexport interface SelectItemProps<ValueType extends string>\r\n extends MenuItemProps {\r\n value: ValueType;\r\n}\r\n\r\nconst ZERO_WIDTH_SPACE = '\\u200b';\r\nexport const SelectItem = forwardRef(function SelectItem<\r\n ValueType extends string\r\n>(\r\n props: SelectItemProps<ValueType>,\r\n forwardedRef: ForwardedRef<HTMLLIElement>\r\n) {\r\n const {\r\n as: Comp = MenuItem,\r\n onSelect: onSelectProp,\r\n children,\r\n value: valueProp,\r\n disabled,\r\n onKeyDown,\r\n ...otherProps\r\n } = props;\r\n const {\r\n native,\r\n onSelect,\r\n value: selectedValue,\r\n multiple,\r\n } = useSelectContext();\r\n const value =\r\n valueProp !== undefined && valueProp !== null\r\n ? String(valueProp)\r\n : (children as string);\r\n\r\n if (native) {\r\n return (\r\n <option\r\n ref={forwardedRef}\r\n value={value}\r\n disabled={disabled}\r\n {...(otherProps as any)}\r\n >\r\n {children}\r\n </option>\r\n );\r\n }\r\n\r\n if (children === undefined && disabled) {\r\n return null;\r\n }\r\n\r\n let selected = false;\r\n if (multiple && Array.isArray(selectedValue)) {\r\n selected = Boolean(selectedValue.find((v) => v === value));\r\n } else {\r\n selected = value === String(selectedValue);\r\n }\r\n return (\r\n <Comp\r\n as={MenuItem}\r\n onSelect={wrapEvent(onSelectProp, onSelect as any)}\r\n data-value={value}\r\n disabled={disabled}\r\n ref={forwardedRef}\r\n role=\"option\"\r\n aria-selected={selected ? 'true' : undefined}\r\n selected={selected}\r\n {...otherProps}\r\n >\r\n {children || ZERO_WIDTH_SPACE}\r\n </Comp>\r\n );\r\n}) as <ValueType extends string>(\r\n p: SelectItemProps<ValueType> & {\r\n ref?: Ref<HTMLLIElement>;\r\n }\r\n) => ReactElement;\r\n"],"mappings":";;;;AACA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,SAAT,EAAoBC,QAAQ,IAAIC,YAAhC,QAAoD,gBAApD;AAGA,SAASC,gBAAT,QAAiC,mBAAjC;AAEA,SAASC,GAAT,QAAoB,QAApB;;AAIA,IAAMH,QAAQ,gBAAGF,UAAU,CACzB,gBAA0BM,GAA1B;EAAA,mBAAGC,EAAH;EAAA,IAAGA,EAAH,wBAAQ,IAAR;EAAA,IAAiBC,KAAjB;;EAAA,oBACE,KAAC,YAAD;IAAc,EAAE,EAAEH,GAAlB;IAAuB,OAAO,EAAEE,EAAhC;IAAoC,GAAG,EAAED;EAAzC,GAAkDE,KAAlD,EADF;AAAA,CADyB,CAA3B;AAWA,IAAMC,gBAAgB,GAAG,QAAzB;AACA,OAAO,IAAMC,UAAU,gBAAGV,UAAU,CAAC,SAASU,UAAT,CAGnCF,KAHmC,EAInCG,YAJmC,EAKnC;EACA,gBAQIH,KARJ,CACED,EADF;EAAA,IACMK,IADN,0BACaV,QADb;EAAA,IAEYW,YAFZ,GAQIL,KARJ,CAEEM,QAFF;EAAA,IAGEC,QAHF,GAQIP,KARJ,CAGEO,QAHF;EAAA,IAISC,SAJT,GAQIR,KARJ,CAIES,KAJF;EAAA,IAKEC,QALF,GAQIV,KARJ,CAKEU,QALF;EAAA,IAMEC,SANF,GAQIX,KARJ,CAMEW,SANF;EAAA,IAOKC,UAPL,4BAQIZ,KARJ;;EASA,wBAKIJ,gBAAgB,EALpB;EAAA,IACEiB,MADF,qBACEA,MADF;EAAA,IAEEP,QAFF,qBAEEA,QAFF;EAAA,IAGSQ,aAHT,qBAGEL,KAHF;EAAA,IAIEM,QAJF,qBAIEA,QAJF;;EAMA,IAAMN,KAAK,GACTD,SAAS,KAAKQ,SAAd,IAA2BR,SAAS,KAAK,IAAzC,GACIS,MAAM,CAACT,SAAD,CADV,GAEKD,QAHP;;EAKA,IAAIM,MAAJ,EAAY;IACV,oBACE;MACE,GAAG,EAAEV,YADP;MAEE,KAAK,EAAEM,KAFT;MAGE,QAAQ,EAAEC;IAHZ,GAIOE,UAJP;MAAA,UAMGL;IANH,GADF;EAUD;;EAED,IAAIA,QAAQ,KAAKS,SAAb,IAA0BN,QAA9B,EAAwC;IACtC,OAAO,IAAP;EACD;;EAED,IAAIQ,QAAQ,GAAG,KAAf;;EACA,IAAIH,QAAQ,IAAII,KAAK,CAACC,OAAN,CAAcN,aAAd,CAAhB,EAA8C;IAC5CI,QAAQ,GAAGG,OAAO,CAACP,aAAa,CAACQ,IAAd,CAAmB,UAACC,CAAD;MAAA,OAAOA,CAAC,KAAKd,KAAb;IAAA,CAAnB,CAAD,CAAlB;EACD,CAFD,MAEO;IACLS,QAAQ,GAAGT,KAAK,KAAKQ,MAAM,CAACH,aAAD,CAA3B;EACD;;EACD,oBACE,KAAC,IAAD;IACE,EAAE,EAAEpB,QADN;IAEE,QAAQ,EAAED,SAAS,CAACY,YAAD,EAAeC,QAAf,CAFrB;IAGE,cAAYG,KAHd;IAIE,QAAQ,EAAEC,QAJZ;IAKE,GAAG,EAAEP,YALP;IAME,IAAI,EAAC,QANP;IAOE,iBAAee,QAAQ,GAAG,MAAH,GAAYF,SAPrC;IAQE,QAAQ,EAAEE;EARZ,GASMN,UATN;IAAA,UAWGL,QAAQ,IAAIN;EAXf,GADF;AAeD,CAhEmC,CAA7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './SelectItem';
|
|
1
|
+
export * from './SelectItem';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/SelectItem/index.ts"],"sourcesContent":["export * from './SelectItem';\n"],"mappings":"AAAA,cAAc,cAAd"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/SelectItem/index.ts"],"sourcesContent":["export * from './SelectItem';\r\n"],"mappings":"AAAA,cAAc,cAAd"}
|