@basic-ui/material 1.0.0-alpha.51 → 1.0.0-alpha.54
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 +520 -447
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Alert/Alert.d.ts +5 -6
- package/build/esm/Alert/Alert.js +14 -16
- package/build/esm/Alert/Alert.js.map +1 -1
- 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 +25 -34
- package/build/esm/AppBar/AppBar.js.map +1 -1
- package/build/esm/AppBar/AppBarButton.d.ts +3 -4
- package/build/esm/AppBar/AppBarButton.js +12 -14
- package/build/esm/AppBar/AppBarButton.js.map +1 -1
- package/build/esm/AppBar/context.d.ts +4 -5
- package/build/esm/AppBar/context.js +8 -6
- 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 +5 -6
- package/build/esm/Badge/Badge.js +25 -26
- 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 +4 -6
- 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 +6 -7
- package/build/esm/BottomSheet/BottomSheet.js +17 -21
- package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
- package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -5
- package/build/esm/BottomSheet/BottomSheetSurface.js +14 -14
- 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 +26 -26
- 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 +14 -7
- package/build/esm/Button/BaseButton.js +107 -36
- package/build/esm/Button/BaseButton.js.map +1 -1
- package/build/esm/Button/Button.d.ts +14 -13
- package/build/esm/Button/Button.js +66 -48
- package/build/esm/Button/Button.js.map +1 -1
- package/build/esm/Button/ButtonGroup.d.ts +4 -5
- package/build/esm/Button/ButtonGroup.js +119 -21
- package/build/esm/Button/ButtonGroup.js.map +1 -1
- package/build/esm/Button/FilledButton.d.ts +10 -11
- package/build/esm/Button/FilledButton.js +18 -60
- package/build/esm/Button/FilledButton.js.map +1 -1
- package/build/esm/Button/FloatingActionButton.d.ts +9 -7
- package/build/esm/Button/FloatingActionButton.js +5 -4
- package/build/esm/Button/FloatingActionButton.js.map +1 -1
- package/build/esm/Button/IconButton.d.ts +8 -8
- package/build/esm/Button/IconButton.js +3 -3
- package/build/esm/Button/IconButton.js.map +1 -1
- package/build/esm/Button/IconFilledButton.d.ts +2 -0
- package/build/esm/Button/IconFilledButton.js +3 -0
- package/build/esm/Button/IconFilledButton.js.map +1 -0
- package/build/esm/Button/IconOutlinedButton.d.ts +2 -0
- package/build/esm/Button/IconOutlinedButton.js +3 -0
- package/build/esm/Button/IconOutlinedButton.js.map +1 -0
- package/build/esm/Button/OutlinedButton.d.ts +3 -4
- package/build/esm/Button/OutlinedButton.js +3 -43
- package/build/esm/Button/OutlinedButton.js.map +1 -1
- package/build/esm/Button/SplitButton.d.ts +9 -0
- package/build/esm/Button/SplitButton.js +32 -0
- package/build/esm/Button/SplitButton.js.map +1 -0
- package/build/esm/Button/TransparentButton.d.ts +10 -11
- package/build/esm/Button/TransparentButton.js +11 -54
- package/build/esm/Button/TransparentButton.js.map +1 -1
- package/build/esm/Button/context.d.ts +9 -8
- package/build/esm/Button/context.js +5 -4
- package/build/esm/Button/context.js.map +1 -1
- package/build/esm/Button/index.d.ts +3 -2
- package/build/esm/Button/index.js +1 -0
- package/build/esm/Button/index.js.map +1 -1
- package/build/esm/CheckBox/CheckBox.d.ts +13 -13
- package/build/esm/CheckBox/CheckBox.js +45 -61
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/CheckBox/CheckBoxIcon.d.ts +10 -10
- package/build/esm/CheckBox/CheckBoxIcon.js +19 -24
- package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
- package/build/esm/CheckBox/CheckPath.d.ts +3 -3
- package/build/esm/CheckBox/CheckPath.js +15 -16
- package/build/esm/CheckBox/CheckPath.js.map +1 -1
- package/build/esm/CheckBox/IndeterminatePath.d.ts +3 -3
- package/build/esm/CheckBox/IndeterminatePath.js +14 -16
- 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 +20 -24
- 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 +50 -54
- package/build/esm/Chip/ChipBase.js.map +1 -1
- package/build/esm/Chip/ChoiceChip.d.ts +10 -10
- package/build/esm/Chip/ChoiceChip.js +34 -38
- 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 +126 -107
- 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 +19 -20
- package/build/esm/Dialog/Dialog.js +38 -42
- package/build/esm/Dialog/Dialog.js.map +1 -1
- package/build/esm/Dialog/DialogBackdrop.d.ts +6 -7
- package/build/esm/Dialog/DialogBackdrop.js +18 -17
- package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
- package/build/esm/Dialog/DialogContainer.d.ts +3 -4
- package/build/esm/Dialog/DialogContainer.js +12 -12
- package/build/esm/Dialog/DialogContainer.js.map +1 -1
- package/build/esm/Dialog/DialogSurface.d.ts +6 -7
- package/build/esm/Dialog/DialogSurface.js +26 -26
- package/build/esm/Dialog/DialogSurface.js.map +1 -1
- package/build/esm/Dialog/Scrim.d.ts +3 -4
- package/build/esm/Dialog/Scrim.js +12 -12
- 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 +57 -824
- package/build/esm/Dialog/useDialogAnimation.js +23 -24
- package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
- package/build/esm/Divider/Divider.d.ts +7 -7
- package/build/esm/Divider/Divider.js +27 -28
- 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 +27 -33
- 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 +30 -38
- 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 +15 -17
- 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 +19 -26
- 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 +28 -31
- package/build/esm/ListItem/ListItem.js.map +1 -1
- package/build/esm/ListItem/ListItemText.d.ts +7 -7
- package/build/esm/ListItem/ListItemText.js +12 -16
- 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 +70 -60
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/animation.d.ts +2 -2
- package/build/esm/Menu/animation.js +3 -3
- 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 +82 -86
- 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 +33 -40
- 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 +26 -34
- package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
- package/build/esm/NotchedOutline/context.d.ts +5 -6
- package/build/esm/NotchedOutline/context.js +8 -7
- 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 +15 -575
- package/build/esm/NotchedOutline/styledComponents.js +65 -64
- package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
- package/build/esm/Paper/Paper.d.ts +11 -11
- package/build/esm/Paper/Paper.js +25 -25
- 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 +13 -14
- package/build/esm/Popover/Popover.js +33 -39
- package/build/esm/Popover/Popover.js.map +1 -1
- package/build/esm/Popover/PopoverContainer.d.ts +3 -4
- package/build/esm/Popover/PopoverContainer.js +12 -12
- package/build/esm/Popover/PopoverContainer.js.map +1 -1
- package/build/esm/Popover/PopoverSurface.d.ts +4 -5
- package/build/esm/Popover/PopoverSurface.js +15 -15
- 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 +7 -8
- package/build/esm/ProgressSpinner/ProgressSpinner.js +31 -33
- 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 +3 -4
- package/build/esm/RadioButton/RadioButton.js +29 -32
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioButtonIcon.d.ts +6 -6
- package/build/esm/RadioButton/RadioButtonIcon.js +10 -12
- package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +4 -5
- package/build/esm/RadioButton/RadioGroup.js +9 -11
- 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 +10 -11
- package/build/esm/Ripple/Ripple.js +12 -10
- package/build/esm/Ripple/Ripple.js.map +1 -1
- package/build/esm/Ripple/RippleBox.d.ts +5 -5
- package/build/esm/Ripple/RippleBox.js +32 -29
- package/build/esm/Ripple/RippleBox.js.map +1 -1
- package/build/esm/Ripple/constants.d.ts +7 -7
- package/build/esm/Ripple/constants.js +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 +7 -7
- package/build/esm/Ripple/keyframes.js.map +1 -1
- package/build/esm/Ripple/useRipple.d.ts +14 -14
- package/build/esm/Ripple/useRipple.js +79 -84
- package/build/esm/Ripple/useRipple.js.map +1 -1
- package/build/esm/Ripple/useRippleHandlers.d.ts +8 -8
- package/build/esm/Ripple/useRippleHandlers.js +21 -30
- package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
- package/build/esm/Ripple/useRippleSurface.d.ts +22 -787
- package/build/esm/Ripple/useRippleSurface.js +87 -88
- package/build/esm/Ripple/useRippleSurface.js.map +1 -1
- package/build/esm/SearchBar/SearchBar.d.ts +15 -15
- package/build/esm/SearchBar/SearchBar.js +48 -63
- package/build/esm/SearchBar/SearchBar.js.map +1 -1
- package/build/esm/SearchBar/index.d.ts +1 -1
- package/build/esm/SearchBar/index.js.map +1 -1
- package/build/esm/Select/CustomContainerExample.d.ts +2 -3
- package/build/esm/Select/CustomContainerExample.js +29 -34
- package/build/esm/Select/CustomContainerExample.js.map +1 -1
- package/build/esm/Select/Select.d.ts +33 -32
- package/build/esm/Select/Select.js +68 -113
- package/build/esm/Select/Select.js.map +1 -1
- package/build/esm/Select/SelectIcon.d.ts +6 -6
- package/build/esm/Select/SelectIcon.js +11 -13
- package/build/esm/Select/SelectIcon.js.map +1 -1
- package/build/esm/Select/context.d.ts +9 -9
- package/build/esm/Select/context.js +10 -8
- package/build/esm/Select/context.js.map +1 -1
- package/build/esm/Select/defaultRender.d.ts +3 -3
- package/build/esm/Select/defaultRender.js +33 -38
- 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 +20 -23
- package/build/esm/Select/styledComponents.js.map +1 -1
- package/build/esm/SelectItem/SelectItem.d.ts +11 -11
- package/build/esm/SelectItem/SelectItem.js +37 -47
- 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 +13 -14
- package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
- package/build/esm/SelectionControl/SelectionControlText.d.ts +8 -8
- package/build/esm/SelectionControl/SelectionControlText.js +20 -20
- 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 +18 -20
- package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
- package/build/esm/Skeleton/Skeleton.d.ts +9 -9
- package/build/esm/Skeleton/Skeleton.js +18 -19
- package/build/esm/Skeleton/Skeleton.js.map +1 -1
- package/build/esm/Skeleton/animation.d.ts +8 -8
- package/build/esm/Skeleton/animation.js +11 -11
- 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 +93 -85
- 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 +10 -8
- package/build/esm/Snackbar/Snackbar.js +33 -33
- package/build/esm/Snackbar/Snackbar.js.map +1 -1
- package/build/esm/Snackbar/Stack.d.ts +31 -31
- package/build/esm/Snackbar/Stack.js +74 -106
- package/build/esm/Snackbar/Stack.js.map +1 -1
- package/build/esm/Snackbar/index.d.ts +3 -3
- package/build/esm/Snackbar/index.js.map +1 -1
- package/build/esm/Snackbar/useSnackbarAnimation.d.ts +6 -6
- package/build/esm/Snackbar/useSnackbarAnimation.js +103 -132
- package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
- package/build/esm/Switch/Switch.d.ts +13 -13
- package/build/esm/Switch/Switch.js +59 -56
- 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 +47 -47
- package/build/esm/Switch/styledComponents.js.map +1 -1
- package/build/esm/Tab/Tab.d.ts +5 -5
- package/build/esm/Tab/Tab.js +47 -55
- package/build/esm/Tab/Tab.js.map +1 -1
- package/build/esm/Tab/TabList.d.ts +9 -10
- package/build/esm/Tab/TabList.js +28 -32
- package/build/esm/Tab/TabList.js.map +1 -1
- package/build/esm/Tab/TabPanel.d.ts +4 -5
- package/build/esm/Tab/TabPanel.js +18 -19
- 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 +8 -9
- package/build/esm/Tab/context.js +8 -7
- 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 +69 -86
- package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
- package/build/esm/TabIndicator/context.d.ts +6 -6
- package/build/esm/TabIndicator/context.js +8 -7
- 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 +3 -4
- package/build/esm/Table/Table.js +13 -14
- package/build/esm/Table/Table.js.map +1 -1
- package/build/esm/Table/TableBody.d.ts +3 -4
- package/build/esm/Table/TableBody.js +9 -11
- package/build/esm/Table/TableBody.js.map +1 -1
- package/build/esm/Table/TableCell.d.ts +3 -4
- package/build/esm/Table/TableCell.js +14 -15
- package/build/esm/Table/TableCell.js.map +1 -1
- package/build/esm/Table/TableHead.d.ts +3 -4
- package/build/esm/Table/TableHead.js +13 -14
- package/build/esm/Table/TableHead.js.map +1 -1
- package/build/esm/Table/TableRow.d.ts +3 -4
- package/build/esm/Table/TableRow.js +13 -14
- package/build/esm/Table/TableRow.js.map +1 -1
- package/build/esm/Table/context.d.ts +2 -3
- package/build/esm/Table/context.js +7 -7
- 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 +10 -12
- package/build/esm/Text/LoremIpsum.js.map +1 -1
- package/build/esm/Text/Text.d.ts +10 -11
- package/build/esm/Text/Text.js +15 -19
- 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 +75 -80
- package/build/esm/TextField/FilledContainer.js.map +1 -1
- package/build/esm/TextField/HelperText.d.ts +10 -10
- package/build/esm/TextField/HelperText.js +19 -26
- package/build/esm/TextField/HelperText.js.map +1 -1
- package/build/esm/TextField/IconContainer.d.ts +5 -5
- package/build/esm/TextField/IconContainer.js +21 -9
- package/build/esm/TextField/IconContainer.js.map +1 -1
- package/build/esm/TextField/Input.d.ts +11 -11
- package/build/esm/TextField/Input.js +39 -40
- package/build/esm/TextField/Input.js.map +1 -1
- package/build/esm/TextField/OutlinedContainer.d.ts +17 -17
- package/build/esm/TextField/OutlinedContainer.js +30 -47
- package/build/esm/TextField/OutlinedContainer.js.map +1 -1
- package/build/esm/TextField/TextField.d.ts +19 -19
- package/build/esm/TextField/TextField.js +50 -77
- package/build/esm/TextField/TextField.js.map +1 -1
- package/build/esm/TextField/consts.d.ts +5 -5
- package/build/esm/TextField/consts.js +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 +8 -14
- package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -1
- package/build/esm/ThemeExplorer/ColorPicker.d.ts +8 -8
- package/build/esm/ThemeExplorer/ColorPicker.js +19 -24
- package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
- package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -10
- package/build/esm/ThemeExplorer/ColorSchemePicker.js +16 -21
- package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -1
- package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -9
- package/build/esm/ThemeExplorer/FontAutoComplete.js +28 -48
- package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -1
- package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +8 -9
- package/build/esm/ThemeExplorer/TextFieldColorPicker.js +29 -60
- package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
- package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -11
- package/build/esm/ThemeExplorer/ThemeBuilder.js +155 -184
- package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
- package/build/esm/ThemeExplorer/ThemeColors.d.ts +4 -5
- package/build/esm/ThemeExplorer/ThemeColors.js +54 -54
- package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
- package/build/esm/ThemeExplorer/components.d.ts +31 -31
- package/build/esm/ThemeExplorer/components.js +52 -61
- package/build/esm/ThemeExplorer/components.js.map +1 -1
- package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -1
- package/build/esm/ThemeExplorer/googleFonts.js +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 +0 -1
- package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
- package/build/esm/ThemeExplorer/makeTailwindTheme.d.ts +2 -2
- package/build/esm/ThemeExplorer/makeTailwindTheme.js +20 -20
- package/build/esm/ThemeExplorer/makeTailwindTheme.js.map +1 -1
- package/build/esm/ThemeExplorer/updateGoogleFonts.js +23 -64
- package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -1
- package/build/esm/ThemeExplorer/useDeferredColor.d.ts +3 -3
- package/build/esm/ThemeExplorer/useDeferredColor.js +2 -9
- package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
- package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
- package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +2 -10
- package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +8 -8
- package/build/esm/Tooltip/Tooltip.js +21 -25
- 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/color.js +23 -31
- package/build/esm/color.js.map +1 -1
- 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 +42 -53
- package/build/esm/hooks/useAnimation.js.map +1 -1
- package/build/esm/index.d.ts +42 -42
- package/build/esm/index.js.map +1 -1
- package/build/esm/motion.d.ts +7 -7
- package/build/esm/motion.js +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 +17 -29
- package/build/esm/tailwind/extendColors.js.map +1 -1
- package/build/esm/tailwind/index.d.ts +8 -8
- package/build/esm/tailwind/index.js +17 -29
- 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 +590 -562
- package/build/esm/theme/theme.js +49 -22
- package/build/esm/theme/theme.js.map +1 -1
- package/build/esm/theme/typography-raleway.d.ts +112 -112
- package/build/esm/theme/typography-raleway.js +1 -1
- 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 +1 -1
- package/build/esm/theme/typography-roboto.js.map +1 -1
- package/build/esm/theme/useTheme.d.ts +594 -566
- package/build/esm/theme/useTheme.js +1 -3
- package/build/esm/theme/useTheme.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +12 -11
- 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 +133 -127
- package/src/Box/index.ts +1 -1
- package/src/Button/BaseButton.tsx +123 -18
- package/src/Button/Button.story.tsx +236 -72
- package/src/Button/Button.tsx +44 -15
- package/src/Button/ButtonGroup.story.tsx +263 -101
- package/src/Button/ButtonGroup.tsx +103 -7
- package/src/Button/FilledButton.tsx +2 -43
- package/src/Button/FloatingActionButton.tsx +14 -9
- package/src/Button/IconFilledButton.tsx +3 -0
- package/src/Button/IconOutlinedButton.tsx +3 -0
- package/src/Button/OutlinedButton.tsx +2 -41
- package/src/Button/SpinnerButton.story.tsx +91 -91
- package/src/Button/SplitButton.story.tsx +110 -0
- package/src/Button/SplitButton.tsx +40 -0
- package/src/Button/TransparentButton.tsx +1 -43
- package/src/Button/context.tsx +19 -17
- package/src/Button/index.ts +3 -2
- package/src/CheckBox/CheckBox.story.tsx +155 -155
- package/src/CheckBox/CheckBox.tsx +170 -170
- package/src/CheckBox/CheckBoxIcon.tsx +63 -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.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 +59 -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 +176 -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 +26 -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 +162 -155
- package/src/SearchBar/SearchBar.tsx +5 -6
- package/src/Select/CustomContainerExample.tsx +59 -59
- package/src/Select/PaymentMethodSelect.story.tsx +320 -316
- package/src/Select/Select.story.tsx +225 -225
- package/src/Select/Select.tsx +284 -283
- package/src/Select/SelectIcon.tsx +43 -43
- package/src/Select/SelectMultiple.story.tsx +214 -215
- package/src/Select/context.ts +22 -22
- package/src/Select/defaultRender.tsx +60 -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/Snackbar/Snackbar.tsx +19 -16
- package/src/Switch/Switch.story.tsx +97 -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/context.ts +6 -6
- package/src/Text/LoremIpsum.tsx +18 -18
- package/src/Text/Text.story.tsx +79 -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/OutlinedContainer.tsx +116 -116
- 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 +112 -115
- package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -8
- package/src/ThemeExplorer/ThemeBuilder.tsx +437 -353
- package/src/ThemeExplorer/ThemeColors.tsx +122 -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 +32 -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/motion.ts +7 -7
- package/src/tailwind/extendColors.ts +51 -51
- package/src/tailwind/index.ts +57 -56
- package/src/tailwind/tests/extendColors.test.ts +123 -123
- package/src/theme/index.ts +2 -2
- package/src/theme/theme.ts +36 -8
- package/src/theme/typography-raleway.ts +114 -114
- package/src/theme/typography-roboto.ts +113 -113
- package/src/theme/useTheme.ts +17 -18
- package/tailwind/package.json +5 -5
- package/theme-explorer/package.json +5 -5
package/build/esm/Tab/TabList.js
CHANGED
|
@@ -1,56 +1,52 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["innerAs"],
|
|
4
|
-
_excluded2 = ["as", "indicatorColor", "textColor", "selectedTextColor", "variant"];
|
|
5
1
|
import { forwardRef, useRef } from 'react';
|
|
6
2
|
import { TabList as TabListCore } from '@basic-ui/core';
|
|
7
3
|
import { Box } from '../Box';
|
|
8
4
|
import { TabIndicatorProvider } from '../TabIndicator';
|
|
9
5
|
import { TabListProvider } from './context';
|
|
10
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
const TabListInner = /*#__PURE__*/forwardRef(function TabListInner(props, forwardedRef) {
|
|
8
|
+
const {
|
|
9
|
+
innerAs,
|
|
10
|
+
...otherProps
|
|
11
|
+
} = props;
|
|
12
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
16
13
|
as: innerAs,
|
|
17
14
|
ref: forwardedRef,
|
|
18
15
|
__css: {
|
|
19
16
|
minWidth: "22.5rem",
|
|
20
17
|
display: 'flex',
|
|
21
18
|
alignItems: 'center'
|
|
22
|
-
}
|
|
23
|
-
|
|
19
|
+
},
|
|
20
|
+
...otherProps
|
|
21
|
+
});
|
|
24
22
|
});
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
otherProps = _objectWithoutProperties(props, _excluded2);
|
|
36
|
-
|
|
37
|
-
var currentIndicator = useRef(null);
|
|
23
|
+
export const TabList = /*#__PURE__*/forwardRef(function TabList(props, forwardedRef) {
|
|
24
|
+
const {
|
|
25
|
+
as = 'div',
|
|
26
|
+
indicatorColor = 'primary',
|
|
27
|
+
textColor = 'on.surface',
|
|
28
|
+
selectedTextColor,
|
|
29
|
+
variant = 'secondary',
|
|
30
|
+
...otherProps
|
|
31
|
+
} = props;
|
|
32
|
+
const currentIndicator = useRef(null);
|
|
38
33
|
return /*#__PURE__*/_jsx(TabListProvider, {
|
|
39
34
|
value: {
|
|
40
|
-
indicatorColor
|
|
41
|
-
textColor
|
|
42
|
-
selectedTextColor
|
|
43
|
-
variant
|
|
35
|
+
indicatorColor,
|
|
36
|
+
textColor,
|
|
37
|
+
selectedTextColor,
|
|
38
|
+
variant
|
|
44
39
|
},
|
|
45
40
|
children: /*#__PURE__*/_jsx(TabIndicatorProvider, {
|
|
46
41
|
value: {
|
|
47
|
-
currentIndicator
|
|
42
|
+
currentIndicator
|
|
48
43
|
},
|
|
49
|
-
children: /*#__PURE__*/_jsx(TabListCore,
|
|
44
|
+
children: /*#__PURE__*/_jsx(TabListCore, {
|
|
50
45
|
as: TabListInner,
|
|
51
46
|
innerAs: as,
|
|
52
|
-
ref: forwardedRef
|
|
53
|
-
|
|
47
|
+
ref: forwardedRef,
|
|
48
|
+
...otherProps
|
|
49
|
+
})
|
|
54
50
|
})
|
|
55
51
|
});
|
|
56
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.js","names":["forwardRef","useRef","TabList","TabListCore","Box","TabIndicatorProvider","TabListProvider","TabListInner","props","forwardedRef","innerAs","otherProps","minWidth","display","alignItems","
|
|
1
|
+
{"version":3,"file":"TabList.js","names":["forwardRef","useRef","TabList","TabListCore","Box","TabIndicatorProvider","TabListProvider","jsx","_jsx","TabListInner","props","forwardedRef","innerAs","otherProps","as","ref","__css","minWidth","display","alignItems","indicatorColor","textColor","selectedTextColor","variant","currentIndicator","value","children"],"sources":["../../../src/Tab/TabList.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react';\nimport type { TabListProps as TabListPropsCore } from '@basic-ui/core';\nimport { TabList as TabListCore } from '@basic-ui/core';\nimport { rem } from 'polished';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { TabIndicatorProvider } from '../TabIndicator';\nimport { TabListProvider } from './context';\n\nexport type TabListProps = TabListPropsCore &\n BoxProps & {\n indicatorColor?: string;\n textColor?: string;\n selectedTextColor?: string;\n variant?: 'primary' | 'secondary';\n };\n\nconst TabListInner = forwardRef<HTMLDivElement, TabListProps>(\n function TabListInner(props, forwardedRef) {\n const { innerAs, ...otherProps } = props;\n\n return (\n <Box\n as={innerAs}\n ref={forwardedRef}\n __css={{ minWidth: rem(360), display: 'flex', alignItems: 'center' }}\n {...otherProps}\n />\n );\n }\n);\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList(props, forwardedRef) {\n const {\n as = 'div',\n indicatorColor = 'primary',\n textColor = 'on.surface',\n selectedTextColor,\n variant = 'secondary',\n ...otherProps\n } = props;\n const currentIndicator = useRef<HTMLSpanElement>(null);\n\n return (\n <TabListProvider\n value={{ indicatorColor, textColor, selectedTextColor, variant }}\n >\n <TabIndicatorProvider value={{ currentIndicator }}>\n <TabListCore\n as={TabListInner}\n innerAs={as}\n ref={forwardedRef}\n {...otherProps}\n />\n </TabIndicatorProvider>\n </TabListProvider>\n );\n }\n);\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,SAASC,OAAO,IAAIC,WAAW,QAAQ,gBAAgB;AAIvD,SAASC,GAAG,QAAQ,QAAQ;AAC5B,SAASC,oBAAoB,QAAQ,iBAAiB;AACtD,SAASC,eAAe,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU5C,MAAMC,YAAY,gBAAGT,UAAU,CAC7B,SAASS,YAAYA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACzC,MAAM;IAAEC,OAAO;IAAE,GAAGC;EAAW,CAAC,GAAGH,KAAK;EAExC,oBACEF,IAAA,CAACJ,GAAG;IACFU,EAAE,EAAEF,OAAQ;IACZG,GAAG,EAAEJ,YAAa;IAClBK,KAAK,EAAE;MAAEC,QAAQ,WAAU;MAAEC,OAAO,EAAE,MAAM;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAA,GACjEN;EAAU,CACf,CAAC;AAEN,CACF,CAAC;AAED,OAAO,MAAMX,OAAO,gBAAGF,UAAU,CAC/B,SAASE,OAAOA,CAACQ,KAAK,EAAEC,YAAY,EAAE;EACpC,MAAM;IACJG,EAAE,GAAG,KAAK;IACVM,cAAc,GAAG,SAAS;IAC1BC,SAAS,GAAG,YAAY;IACxBC,iBAAiB;IACjBC,OAAO,GAAG,WAAW;IACrB,GAAGV;EACL,CAAC,GAAGH,KAAK;EACT,MAAMc,gBAAgB,GAAGvB,MAAM,CAAkB,IAAI,CAAC;EAEtD,oBACEO,IAAA,CAACF,eAAe;IACdmB,KAAK,EAAE;MAAEL,cAAc;MAAEC,SAAS;MAAEC,iBAAiB;MAAEC;IAAQ,CAAE;IAAAG,QAAA,eAEjElB,IAAA,CAACH,oBAAoB;MAACoB,KAAK,EAAE;QAAED;MAAiB,CAAE;MAAAE,QAAA,eAChDlB,IAAA,CAACL,WAAW;QACVW,EAAE,EAAEL,YAAa;QACjBG,OAAO,EAAEE,EAAG;QACZC,GAAG,EAAEJ,YAAa;QAAA,GACdE;MAAU,CACf;IAAC,CACkB;EAAC,CACR,CAAC;AAEtB,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export declare
|
|
5
|
-
export declare const TabPanel: import("react").ForwardRefExoticComponent<Pick<TabPanelProps, "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "bottom" | "color" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "textAlign" | "textShadow" | "top" | "translate" | "verticalAlign" | "width" | "background" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "overflow" | "padding" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "slot" | "style" | "title" | "hidden" | "as" | "sx" | "__css" | "variant" | "tx" | "theme" | "size" | "borderX" | "borderY" | "gridGap" | "gridColumnGap" | "gridRowGap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "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" | "innerAs" | "lazy"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { TabPanelProps as TabPanelPropsCore } from '@basic-ui/core';
|
|
2
|
+
import type { BoxProps } from '../Box';
|
|
3
|
+
export type TabPanelProps = TabPanelPropsCore & BoxProps;
|
|
4
|
+
export declare const TabPanel: import("react").ForwardRefExoticComponent<Omit<TabPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["innerAs"],
|
|
4
|
-
_excluded2 = ["as"];
|
|
5
1
|
import { forwardRef } from 'react';
|
|
6
2
|
import { TabPanel as TabPanelCore } from '@basic-ui/core';
|
|
7
3
|
import { Box } from '../Box';
|
|
8
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
const TabPanelInner = /*#__PURE__*/forwardRef(function TabPanelInner(props, forwardedRef) {
|
|
6
|
+
const {
|
|
7
|
+
innerAs,
|
|
8
|
+
...otherProps
|
|
9
|
+
} = props;
|
|
10
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
14
11
|
as: innerAs,
|
|
15
|
-
ref: forwardedRef
|
|
16
|
-
|
|
12
|
+
ref: forwardedRef,
|
|
13
|
+
...otherProps
|
|
14
|
+
});
|
|
17
15
|
});
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return /*#__PURE__*/_jsx(TabPanelCore,
|
|
16
|
+
export const TabPanel = /*#__PURE__*/forwardRef(function TabPanel(props, forwardedRef) {
|
|
17
|
+
const {
|
|
18
|
+
as = 'div',
|
|
19
|
+
...otherProps
|
|
20
|
+
} = props;
|
|
21
|
+
return /*#__PURE__*/_jsx(TabPanelCore, {
|
|
24
22
|
as: TabPanelInner,
|
|
25
23
|
innerAs: as,
|
|
26
|
-
ref: forwardedRef
|
|
27
|
-
|
|
24
|
+
ref: forwardedRef,
|
|
25
|
+
...otherProps
|
|
26
|
+
});
|
|
28
27
|
});
|
|
29
28
|
//# sourceMappingURL=TabPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel.js","names":["forwardRef","TabPanel","TabPanelCore","Box","TabPanelInner","props","forwardedRef","innerAs","otherProps","as"],"sources":["../../../src/Tab/TabPanel.tsx"],"sourcesContent":["import { forwardRef } from 'react';\
|
|
1
|
+
{"version":3,"file":"TabPanel.js","names":["forwardRef","TabPanel","TabPanelCore","Box","jsx","_jsx","TabPanelInner","props","forwardedRef","innerAs","otherProps","as","ref"],"sources":["../../../src/Tab/TabPanel.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { TabPanelProps as TabPanelPropsCore } from '@basic-ui/core';\nimport { TabPanel as TabPanelCore } from '@basic-ui/core';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\n\nexport type TabPanelProps = TabPanelPropsCore & BoxProps;\n\nconst TabPanelInner = forwardRef<HTMLDivElement, TabPanelProps>(\n function TabPanelInner(props, forwardedRef) {\n const { innerAs, ...otherProps } = props;\n\n return <Box as={innerAs} ref={forwardedRef} {...otherProps} />;\n }\n);\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(\n function TabPanel(props, forwardedRef) {\n const { as = 'div', ...otherProps } = props;\n\n return (\n <TabPanelCore\n as={TabPanelInner}\n innerAs={as}\n ref={forwardedRef}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAASC,QAAQ,IAAIC,YAAY,QAAQ,gBAAgB;AAGzD,SAASC,GAAG,QAAQ,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI7B,MAAMC,aAAa,gBAAGN,UAAU,CAC9B,SAASM,aAAaA,CAACC,KAAK,EAAEC,YAAY,EAAE;EAC1C,MAAM;IAAEC,OAAO;IAAE,GAAGC;EAAW,CAAC,GAAGH,KAAK;EAExC,oBAAOF,IAAA,CAACF,GAAG;IAACQ,EAAE,EAAEF,OAAQ;IAACG,GAAG,EAAEJ,YAAa;IAAA,GAAKE;EAAU,CAAG,CAAC;AAChE,CACF,CAAC;AAED,OAAO,MAAMT,QAAQ,gBAAGD,UAAU,CAChC,SAASC,QAAQA,CAACM,KAAK,EAAEC,YAAY,EAAE;EACrC,MAAM;IAAEG,EAAE,GAAG,KAAK;IAAE,GAAGD;EAAW,CAAC,GAAGH,KAAK;EAE3C,oBACEF,IAAA,CAACH,YAAY;IACXS,EAAE,EAAEL,aAAc;IAClBG,OAAO,EAAEE,EAAG;IACZC,GAAG,EAAEJ,YAAa;IAAA,GACdE;EAAU,CACf,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TabPanels } from '@basic-ui/core';
|
|
2
|
-
import type { TabPanelsProps } from '@basic-ui/core';
|
|
3
|
-
export { TabPanels };
|
|
4
|
-
export type { TabPanelsProps };
|
|
1
|
+
import { TabPanels } from '@basic-ui/core';
|
|
2
|
+
import type { TabPanelsProps } from '@basic-ui/core';
|
|
3
|
+
export { TabPanels };
|
|
4
|
+
export type { TabPanelsProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanels.js","names":["TabPanels"],"sources":["../../../src/Tab/TabPanels.tsx"],"sourcesContent":["import { TabPanels } from '@basic-ui/core';\
|
|
1
|
+
{"version":3,"file":"TabPanels.js","names":["TabPanels"],"sources":["../../../src/Tab/TabPanels.tsx"],"sourcesContent":["import { TabPanels } from '@basic-ui/core';\nimport type { TabPanelsProps } from '@basic-ui/core';\n\nexport { TabPanels };\nexport type { TabPanelsProps };\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,gBAAgB;AAG1C,SAASA,SAAS","ignoreList":[]}
|
package/build/esm/Tab/Tabs.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Tabs } from '@basic-ui/core';
|
|
2
|
-
import type { TabsProps } from '@basic-ui/core';
|
|
3
|
-
export { Tabs };
|
|
4
|
-
export type { TabsProps };
|
|
1
|
+
import { Tabs } from '@basic-ui/core';
|
|
2
|
+
import type { TabsProps } from '@basic-ui/core';
|
|
3
|
+
export { Tabs };
|
|
4
|
+
export type { TabsProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":["Tabs"],"sources":["../../../src/Tab/Tabs.tsx"],"sourcesContent":["import { Tabs } from '@basic-ui/core';\
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["Tabs"],"sources":["../../../src/Tab/Tabs.tsx"],"sourcesContent":["import { Tabs } from '@basic-ui/core';\nimport type { TabsProps } from '@basic-ui/core';\n\nexport { Tabs };\nexport type { TabsProps };\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,gBAAgB;AAGrC,SAASA,IAAI","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const useTabListContext: () => TabListContextProps;
|
|
1
|
+
export interface TabListContextProps {
|
|
2
|
+
indicatorColor: string;
|
|
3
|
+
textColor: string;
|
|
4
|
+
selectedTextColor?: string;
|
|
5
|
+
variant: 'primary' | 'secondary';
|
|
6
|
+
}
|
|
7
|
+
export declare const TabListProvider: import("react").Provider<TabListContextProps>;
|
|
8
|
+
export declare const useTabListContext: () => TabListContextProps;
|
package/build/esm/Tab/context.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// TabList Component
|
|
4
|
+
|
|
5
|
+
const TabListContext = /*#__PURE__*/createContext({
|
|
4
6
|
indicatorColor: 'primary',
|
|
5
7
|
textColor: 'on.surface',
|
|
6
8
|
variant: 'secondary'
|
|
7
9
|
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
10
|
+
export const {
|
|
11
|
+
Provider: TabListProvider
|
|
12
|
+
} = TabListContext;
|
|
13
|
+
export const useTabListContext = () => useContext(TabListContext);
|
|
13
14
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["createContext","useContext","TabListContext","indicatorColor","textColor","variant","
|
|
1
|
+
{"version":3,"file":"context.js","names":["createContext","useContext","TabListContext","indicatorColor","textColor","variant","Provider","TabListProvider","useTabListContext"],"sources":["../../../src/Tab/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n// TabList Component\nexport interface TabListContextProps {\n indicatorColor: string;\n textColor: string;\n selectedTextColor?: string;\n variant: 'primary' | 'secondary';\n}\n\nconst TabListContext = createContext<TabListContextProps>({\n indicatorColor: 'primary',\n textColor: 'on.surface',\n variant: 'secondary',\n});\nexport const { Provider: TabListProvider } = TabListContext;\nexport const useTabListContext = () => useContext(TabListContext);\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAEjD;;AAQA,MAAMC,cAAc,gBAAGF,aAAa,CAAsB;EACxDG,cAAc,EAAE,SAAS;EACzBC,SAAS,EAAE,YAAY;EACvBC,OAAO,EAAE;AACX,CAAC,CAAC;AACF,OAAO,MAAM;EAAEC,QAAQ,EAAEC;AAAgB,CAAC,GAAGL,cAAc;AAC3D,OAAO,MAAMM,iBAAiB,GAAGA,CAAA,KAAMP,UAAU,CAACC,cAAc,CAAC","ignoreList":[]}
|
package/build/esm/Tab/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './Tabs';
|
|
2
|
-
export * from './TabList';
|
|
3
|
-
export * from './Tab';
|
|
4
|
-
export * from './TabPanels';
|
|
5
|
-
export * from './TabPanel';
|
|
1
|
+
export * from './Tabs';
|
|
2
|
+
export * from './TabList';
|
|
3
|
+
export * from './Tab';
|
|
4
|
+
export * from './TabPanels';
|
|
5
|
+
export * from './TabPanel';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Tab/index.ts"],"sourcesContent":["export * from './Tabs';\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Tab/index.ts"],"sourcesContent":["export * from './Tabs';\nexport * from './TabList';\nexport * from './Tab';\nexport * from './TabPanels';\nexport * from './TabPanel';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,aAAa;AAC3B,cAAc,YAAY","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { RefObject } from 'react';
|
|
2
|
-
import type { BoxProps } from '../Box';
|
|
3
|
-
export interface TabIndicatorProps extends BoxProps {
|
|
4
|
-
selected?: boolean;
|
|
5
|
-
color?: string;
|
|
6
|
-
variant: 'primary' | 'secondary';
|
|
7
|
-
labelRef: RefObject<HTMLParagraphElement | null>;
|
|
8
|
-
}
|
|
9
|
-
export declare const TabIndicator: import("react").ForwardRefExoticComponent<
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { BoxProps } from '../Box';
|
|
3
|
+
export interface TabIndicatorProps extends BoxProps {
|
|
4
|
+
selected?: boolean;
|
|
5
|
+
color?: string;
|
|
6
|
+
variant: 'primary' | 'secondary';
|
|
7
|
+
labelRef: RefObject<HTMLParagraphElement | null>;
|
|
8
|
+
}
|
|
9
|
+
export declare const TabIndicator: import("react").ForwardRefExoticComponent<Omit<TabIndicatorProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,129 +1,112 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["as", "selected", "color", "variant", "labelRef"];
|
|
5
1
|
import { forwardRef, useEffect, useRef, useLayoutEffect } from 'react';
|
|
6
2
|
import { assignMultipleRefs } from '@basic-ui/core';
|
|
7
3
|
import { Box } from '../Box';
|
|
8
4
|
import { useTabIndicatorContext } from './context';
|
|
9
5
|
import { EASING_STANDARD } from '../motion';
|
|
10
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var resizeObserverRef = useRef();
|
|
30
|
-
useEnhancedEffect(function () {
|
|
7
|
+
const WIDTH_PROPERTY_NAME = '--indicator-width';
|
|
8
|
+
const SCALE_PROPERTY_NAME = '--indicator-scale';
|
|
9
|
+
const useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
10
|
+
export const TabIndicator = /*#__PURE__*/forwardRef(function TabIndicator(props, forwardedRef) {
|
|
11
|
+
const {
|
|
12
|
+
as = 'span',
|
|
13
|
+
selected,
|
|
14
|
+
color = 'primary',
|
|
15
|
+
variant,
|
|
16
|
+
labelRef,
|
|
17
|
+
...otherProps
|
|
18
|
+
} = props;
|
|
19
|
+
const ref = useRef(null);
|
|
20
|
+
const {
|
|
21
|
+
currentIndicator
|
|
22
|
+
} = useTabIndicatorContext();
|
|
23
|
+
const resizeObserverRef = useRef(null);
|
|
24
|
+
useEnhancedEffect(() => {
|
|
31
25
|
if (selected && ref.current) {
|
|
32
26
|
if (currentIndicator.current !== null) {
|
|
33
27
|
// We are switching indicator, let's slide!
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
const previousClientRect = currentIndicator.current.getBoundingClientRect();
|
|
29
|
+
const currentClientRect = ref.current.getBoundingClientRect();
|
|
30
|
+
const xPosition = previousClientRect.left - currentClientRect.left;
|
|
31
|
+
const prevTransition = ref.current.style.transition;
|
|
32
|
+
const prevTransform = ref.current.style.transform;
|
|
39
33
|
ref.current.style.transition = 'none';
|
|
40
|
-
|
|
41
34
|
if (variant === 'primary') {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
const prevWidth = currentIndicator.current.style.getPropertyValue(WIDTH_PROPERTY_NAME);
|
|
36
|
+
const currentWidth = ref.current.style.getPropertyValue(WIDTH_PROPERTY_NAME);
|
|
37
|
+
const widthDelta = String(parseFloat(prevWidth) / parseFloat(currentWidth));
|
|
45
38
|
ref.current.style.setProperty(SCALE_PROPERTY_NAME, widthDelta);
|
|
46
|
-
ref.current.style.transform =
|
|
39
|
+
ref.current.style.transform = `translateX(${xPosition}px)`;
|
|
47
40
|
} else {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
} // Force repaint before updating classes and transform to ensure the transform properly takes effect
|
|
52
|
-
|
|
41
|
+
const widthDelta = previousClientRect.width / currentClientRect.width;
|
|
42
|
+
ref.current.style.transform = `translateX(${xPosition}px) scaleX(${widthDelta})`;
|
|
43
|
+
}
|
|
53
44
|
|
|
54
|
-
|
|
45
|
+
// Force repaint before updating classes and transform to ensure the transform properly takes effect
|
|
46
|
+
ref.current.getBoundingClientRect();
|
|
55
47
|
|
|
48
|
+
// Restore and let transition do it's magic
|
|
56
49
|
ref.current.style.transition = prevTransition;
|
|
57
50
|
ref.current.style.transform = prevTransform;
|
|
58
|
-
|
|
59
51
|
if (variant === 'primary') {
|
|
60
52
|
ref.current.style.setProperty(SCALE_PROPERTY_NAME, '1');
|
|
61
53
|
}
|
|
62
54
|
}
|
|
63
|
-
|
|
64
55
|
currentIndicator.current = ref.current;
|
|
65
56
|
}
|
|
66
57
|
}, [selected, variant]);
|
|
67
|
-
useEnhancedEffect(
|
|
58
|
+
useEnhancedEffect(() => {
|
|
68
59
|
if (variant === 'secondary') {
|
|
69
60
|
return;
|
|
70
61
|
}
|
|
71
|
-
|
|
72
62
|
if (labelRef.current && ref.current) {
|
|
73
|
-
|
|
74
|
-
ref.current.style.setProperty(WIDTH_PROPERTY_NAME,
|
|
75
|
-
|
|
63
|
+
const width = labelRef.current.getBoundingClientRect().width;
|
|
64
|
+
ref.current.style.setProperty(WIDTH_PROPERTY_NAME, `${width}px`);
|
|
76
65
|
if (typeof ResizeObserver === 'function') {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
(_resizeObserverRef$cu = resizeObserverRef.current) !== null && _resizeObserverRef$cu !== void 0 ? _resizeObserverRef$cu : resizeObserverRef.current = new ResizeObserver(function (_ref) {
|
|
80
|
-
var _ref2 = _slicedToArray(_ref, 1),
|
|
81
|
-
entry = _ref2[0];
|
|
82
|
-
|
|
66
|
+
resizeObserverRef.current ??= new ResizeObserver(_ref => {
|
|
67
|
+
let [entry] = _ref;
|
|
83
68
|
if (ref.current) {
|
|
84
|
-
ref.current.style.setProperty(WIDTH_PROPERTY_NAME,
|
|
69
|
+
ref.current.style.setProperty(WIDTH_PROPERTY_NAME, `${entry.contentRect.width}px`);
|
|
85
70
|
}
|
|
86
71
|
});
|
|
87
|
-
|
|
88
|
-
return
|
|
89
|
-
var _resizeObserverRef$cu3;
|
|
90
|
-
|
|
91
|
-
return (_resizeObserverRef$cu3 = resizeObserverRef.current) === null || _resizeObserverRef$cu3 === void 0 ? void 0 : _resizeObserverRef$cu3.disconnect();
|
|
92
|
-
};
|
|
72
|
+
resizeObserverRef.current?.observe(labelRef.current);
|
|
73
|
+
return () => resizeObserverRef.current?.disconnect();
|
|
93
74
|
}
|
|
94
75
|
}
|
|
95
76
|
}, [labelRef, variant]);
|
|
96
|
-
return /*#__PURE__*/_jsx(Box,
|
|
77
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
97
78
|
as: as,
|
|
98
79
|
ref: assignMultipleRefs(ref, forwardedRef),
|
|
99
|
-
__css:
|
|
80
|
+
__css: {
|
|
100
81
|
bg: color,
|
|
101
82
|
position: 'absolute',
|
|
102
83
|
bottom: 0,
|
|
103
|
-
transform:
|
|
84
|
+
transform: `scale(1)`,
|
|
104
85
|
opacity: selected ? 1 : 0,
|
|
105
|
-
transition:
|
|
106
|
-
zIndex: 1
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
86
|
+
transition: `transform .25s ${EASING_STANDARD}`,
|
|
87
|
+
zIndex: 1,
|
|
88
|
+
...(variant === 'secondary' ? {
|
|
89
|
+
width: '100%',
|
|
90
|
+
height: "0.125rem"
|
|
91
|
+
} : {
|
|
92
|
+
width: '100%',
|
|
93
|
+
'&::before': {
|
|
94
|
+
content: '""',
|
|
95
|
+
width: `var(${WIDTH_PROPERTY_NAME}, 0px)`,
|
|
96
|
+
height: "0.1875rem",
|
|
97
|
+
borderTopLeftRadius: "0.1875rem",
|
|
98
|
+
borderTopRightRadius: "0.1875rem",
|
|
99
|
+
bg: color,
|
|
100
|
+
position: 'absolute',
|
|
101
|
+
transformOrigin: 'center',
|
|
102
|
+
bottom: 0,
|
|
103
|
+
left: '50%',
|
|
104
|
+
transition: `inherit`,
|
|
105
|
+
transform: `translateX(-50%) scaleX(var(${SCALE_PROPERTY_NAME}, 1))}`
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
},
|
|
109
|
+
...otherProps
|
|
110
|
+
});
|
|
128
111
|
});
|
|
129
112
|
//# sourceMappingURL=TabIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabIndicator.js","names":["forwardRef","useEffect","useRef","useLayoutEffect","assignMultipleRefs","Box","useTabIndicatorContext","EASING_STANDARD","WIDTH_PROPERTY_NAME","SCALE_PROPERTY_NAME","useEnhancedEffect","window","TabIndicator","props","forwardedRef","as","selected","color","variant","labelRef","otherProps","ref","currentIndicator","resizeObserverRef","current","previousClientRect","getBoundingClientRect","currentClientRect","xPosition","left","prevTransition","style","transition","prevTransform","transform","prevWidth","getPropertyValue","currentWidth","widthDelta","String","parseFloat","setProperty","width","ResizeObserver","entry","contentRect","observe","disconnect","bg","position","bottom","opacity","zIndex","height","content","borderTopLeftRadius","borderTopRightRadius","transformOrigin"],"sources":["../../../src/TabIndicator/TabIndicator.tsx"],"sourcesContent":["import type { RefObject } from 'react';\r\nimport { forwardRef, useEffect, useRef, useLayoutEffect } from 'react';\r\nimport { rem } from 'polished';\r\nimport { assignMultipleRefs } from '@basic-ui/core';\r\n\r\nimport type { BoxProps } from '../Box';\r\nimport { Box } from '../Box';\r\nimport { useTabIndicatorContext } from './context';\r\nimport { EASING_STANDARD } from '../motion';\r\n\r\nexport interface TabIndicatorProps extends BoxProps {\r\n selected?: boolean;\r\n color?: string;\r\n variant: 'primary' | 'secondary';\r\n labelRef: RefObject<HTMLParagraphElement | null>;\r\n}\r\n\r\nconst WIDTH_PROPERTY_NAME = '--indicator-width';\r\nconst SCALE_PROPERTY_NAME = '--indicator-scale';\r\n\r\nconst useEnhancedEffect =\r\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\r\n\r\nexport const TabIndicator = forwardRef<HTMLDivElement, TabIndicatorProps>(\r\n function TabIndicator(props, forwardedRef) {\r\n const {\r\n as = 'span',\r\n selected,\r\n color = 'primary',\r\n variant,\r\n labelRef,\r\n ...otherProps\r\n } = props;\r\n const ref = useRef<HTMLSpanElement>(null);\r\n const { currentIndicator } = useTabIndicatorContext();\r\n const resizeObserverRef = useRef<ResizeObserver>();\r\n\r\n useEnhancedEffect(() => {\r\n if (selected && ref.current) {\r\n if (currentIndicator.current !== null) {\r\n // We are switching indicator, let's slide!\r\n const previousClientRect =\r\n currentIndicator.current.getBoundingClientRect();\r\n const currentClientRect = ref.current.getBoundingClientRect();\r\n const xPosition = previousClientRect.left - currentClientRect.left;\r\n\r\n const prevTransition = ref.current.style.transition;\r\n const prevTransform = ref.current.style.transform;\r\n ref.current.style.transition = 'none';\r\n if (variant === 'primary') {\r\n const prevWidth =\r\n currentIndicator.current.style.getPropertyValue(\r\n WIDTH_PROPERTY_NAME\r\n );\r\n const currentWidth =\r\n ref.current.style.getPropertyValue(WIDTH_PROPERTY_NAME);\r\n const widthDelta = String(\r\n parseFloat(prevWidth) / parseFloat(currentWidth)\r\n );\r\n ref.current.style.setProperty(SCALE_PROPERTY_NAME, widthDelta);\r\n ref.current.style.transform = `translateX(${xPosition}px)`;\r\n } else {\r\n const widthDelta =\r\n previousClientRect.width / currentClientRect.width;\r\n ref.current.style.transform = `translateX(${xPosition}px) scaleX(${widthDelta})`;\r\n }\r\n\r\n // Force repaint before updating classes and transform to ensure the transform properly takes effect\r\n ref.current.getBoundingClientRect();\r\n\r\n // Restore and let transition do it's magic\r\n ref.current.style.transition = prevTransition;\r\n ref.current.style.transform = prevTransform;\r\n if (variant === 'primary') {\r\n ref.current.style.setProperty(SCALE_PROPERTY_NAME, '1');\r\n }\r\n }\r\n currentIndicator.current = ref.current;\r\n }\r\n }, [selected, variant]);\r\n\r\n useEnhancedEffect(() => {\r\n if (variant === 'secondary') {\r\n return;\r\n }\r\n\r\n if (labelRef.current && ref.current) {\r\n const width = labelRef.current.getBoundingClientRect().width;\r\n ref.current.style.setProperty(WIDTH_PROPERTY_NAME, `${width}px`);\r\n\r\n if (typeof ResizeObserver === 'function') {\r\n resizeObserverRef.current ??= new ResizeObserver(([entry]) => {\r\n if (ref.current) {\r\n ref.current.style.setProperty(\r\n WIDTH_PROPERTY_NAME,\r\n `${entry.contentRect.width}px`\r\n );\r\n }\r\n });\r\n\r\n resizeObserverRef.current?.observe(labelRef.current);\r\n return () => resizeObserverRef.current?.disconnect();\r\n }\r\n }\r\n }, [labelRef, variant]);\r\n\r\n return (\r\n <Box\r\n as={as}\r\n ref={assignMultipleRefs(ref, forwardedRef)}\r\n __css={{\r\n bg: color,\r\n position: 'absolute',\r\n bottom: 0,\r\n transform: `scale(1)`,\r\n opacity: selected ? 1 : 0,\r\n transition: `transform .25s ${EASING_STANDARD}`,\r\n zIndex: 1,\r\n ...(variant === 'secondary'\r\n ? {\r\n width: '100%',\r\n height: rem(2),\r\n }\r\n : {\r\n width: '100%',\r\n '&::before': {\r\n content: '\"\"',\r\n width: `var(${WIDTH_PROPERTY_NAME}, 0px)`,\r\n height: rem(3),\r\n borderTopLeftRadius: rem(3),\r\n borderTopRightRadius: rem(3),\r\n bg: color,\r\n position: 'absolute',\r\n transformOrigin: 'center',\r\n bottom: 0,\r\n left: '50%',\r\n transition: `inherit`,\r\n transform: `translateX(-50%) scaleX(var(${SCALE_PROPERTY_NAME}, 1))}`,\r\n },\r\n }),\r\n }}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n);\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabIndicator.js","names":["forwardRef","useEffect","useRef","useLayoutEffect","assignMultipleRefs","Box","useTabIndicatorContext","EASING_STANDARD","jsx","_jsx","WIDTH_PROPERTY_NAME","SCALE_PROPERTY_NAME","useEnhancedEffect","window","TabIndicator","props","forwardedRef","as","selected","color","variant","labelRef","otherProps","ref","currentIndicator","resizeObserverRef","current","previousClientRect","getBoundingClientRect","currentClientRect","xPosition","left","prevTransition","style","transition","prevTransform","transform","prevWidth","getPropertyValue","currentWidth","widthDelta","String","parseFloat","setProperty","width","ResizeObserver","_ref","entry","contentRect","observe","disconnect","__css","bg","position","bottom","opacity","zIndex","height","content","borderTopLeftRadius","borderTopRightRadius","transformOrigin"],"sources":["../../../src/TabIndicator/TabIndicator.tsx"],"sourcesContent":["import type { RefObject } from 'react';\nimport { forwardRef, useEffect, useRef, useLayoutEffect } from 'react';\nimport { rem } from 'polished';\nimport { assignMultipleRefs } from '@basic-ui/core';\n\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { useTabIndicatorContext } from './context';\nimport { EASING_STANDARD } from '../motion';\n\nexport interface TabIndicatorProps extends BoxProps {\n selected?: boolean;\n color?: string;\n variant: 'primary' | 'secondary';\n labelRef: RefObject<HTMLParagraphElement | null>;\n}\n\nconst WIDTH_PROPERTY_NAME = '--indicator-width';\nconst SCALE_PROPERTY_NAME = '--indicator-scale';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport const TabIndicator = forwardRef<HTMLDivElement, TabIndicatorProps>(\n function TabIndicator(props, forwardedRef) {\n const {\n as = 'span',\n selected,\n color = 'primary',\n variant,\n labelRef,\n ...otherProps\n } = props;\n const ref = useRef<HTMLSpanElement>(null);\n const { currentIndicator } = useTabIndicatorContext();\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n useEnhancedEffect(() => {\n if (selected && ref.current) {\n if (currentIndicator.current !== null) {\n // We are switching indicator, let's slide!\n const previousClientRect =\n currentIndicator.current.getBoundingClientRect();\n const currentClientRect = ref.current.getBoundingClientRect();\n const xPosition = previousClientRect.left - currentClientRect.left;\n\n const prevTransition = ref.current.style.transition;\n const prevTransform = ref.current.style.transform;\n ref.current.style.transition = 'none';\n if (variant === 'primary') {\n const prevWidth =\n currentIndicator.current.style.getPropertyValue(\n WIDTH_PROPERTY_NAME\n );\n const currentWidth =\n ref.current.style.getPropertyValue(WIDTH_PROPERTY_NAME);\n const widthDelta = String(\n parseFloat(prevWidth) / parseFloat(currentWidth)\n );\n ref.current.style.setProperty(SCALE_PROPERTY_NAME, widthDelta);\n ref.current.style.transform = `translateX(${xPosition}px)`;\n } else {\n const widthDelta =\n previousClientRect.width / currentClientRect.width;\n ref.current.style.transform = `translateX(${xPosition}px) scaleX(${widthDelta})`;\n }\n\n // Force repaint before updating classes and transform to ensure the transform properly takes effect\n ref.current.getBoundingClientRect();\n\n // Restore and let transition do it's magic\n ref.current.style.transition = prevTransition;\n ref.current.style.transform = prevTransform;\n if (variant === 'primary') {\n ref.current.style.setProperty(SCALE_PROPERTY_NAME, '1');\n }\n }\n currentIndicator.current = ref.current;\n }\n }, [selected, variant]);\n\n useEnhancedEffect(() => {\n if (variant === 'secondary') {\n return;\n }\n\n if (labelRef.current && ref.current) {\n const width = labelRef.current.getBoundingClientRect().width;\n ref.current.style.setProperty(WIDTH_PROPERTY_NAME, `${width}px`);\n\n if (typeof ResizeObserver === 'function') {\n resizeObserverRef.current ??= new ResizeObserver(([entry]) => {\n if (ref.current) {\n ref.current.style.setProperty(\n WIDTH_PROPERTY_NAME,\n `${entry.contentRect.width}px`\n );\n }\n });\n\n resizeObserverRef.current?.observe(labelRef.current);\n return () => resizeObserverRef.current?.disconnect();\n }\n }\n }, [labelRef, variant]);\n\n return (\n <Box\n as={as}\n ref={assignMultipleRefs(ref, forwardedRef)}\n __css={{\n bg: color,\n position: 'absolute',\n bottom: 0,\n transform: `scale(1)`,\n opacity: selected ? 1 : 0,\n transition: `transform .25s ${EASING_STANDARD}`,\n zIndex: 1,\n ...(variant === 'secondary'\n ? {\n width: '100%',\n height: rem(2),\n }\n : {\n width: '100%',\n '&::before': {\n content: '\"\"',\n width: `var(${WIDTH_PROPERTY_NAME}, 0px)`,\n height: rem(3),\n borderTopLeftRadius: rem(3),\n borderTopRightRadius: rem(3),\n bg: color,\n position: 'absolute',\n transformOrigin: 'center',\n bottom: 0,\n left: '50%',\n transition: `inherit`,\n transform: `translateX(-50%) scaleX(var(${SCALE_PROPERTY_NAME}, 1))}`,\n },\n }),\n }}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
|