@adgytec/adgytec-web-ui-components 2.3.0 → 2.4.0
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 +27 -16
- package/dist/App.d.ts +1 -2
- package/dist/assets/BottomSheetModal.css +1 -1
- package/dist/assets/CalendarCell.css +1 -1
- package/dist/assets/CalendarMenuItem.css +1 -1
- package/dist/assets/Card.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/ListItem.css +1 -1
- package/dist/assets/ListTrailingText.css +1 -0
- package/dist/assets/Radio.css +1 -1
- package/dist/assets/SideSheet.css +1 -1
- package/dist/assets/SideSheetModal.css +1 -1
- package/dist/assets/Switch.css +1 -1
- package/dist/assets/ThemeSelector.css +1 -1
- package/dist/assets/core7.css +1 -1
- package/dist/chunks/ActionDialog +0 -1
- package/dist/chunks/ActionDialog.map +1 -1
- package/dist/chunks/AppBar +42 -43
- package/dist/chunks/AppBar.map +1 -1
- package/dist/chunks/AppBarAction +0 -1
- package/dist/chunks/AppBarAction.map +1 -1
- package/dist/chunks/AppBarAvatar +1 -2
- package/dist/chunks/AppBarAvatar.map +1 -1
- package/dist/chunks/AppBarHeadline +1 -2
- package/dist/chunks/AppBarHeadline.map +1 -1
- package/dist/chunks/BaseCalendar +65 -68
- package/dist/chunks/BaseCalendar.map +1 -1
- package/dist/chunks/BottomSheet +1 -2
- package/dist/chunks/BottomSheet.map +1 -1
- package/dist/chunks/BottomSheetModal +1 -2
- package/dist/chunks/BottomSheetModal.map +1 -1
- package/dist/chunks/ButtonGroup +1 -2
- package/dist/chunks/ButtonGroup.map +1 -1
- package/dist/chunks/CalendarCell +25 -40
- package/dist/chunks/CalendarCell.map +1 -1
- package/dist/chunks/CalendarGrid +1 -2
- package/dist/chunks/CalendarGrid.map +1 -1
- package/dist/chunks/CalendarMenuItem +2 -3
- package/dist/chunks/CalendarMenuItem.map +1 -1
- package/dist/chunks/Card +4 -5
- package/dist/chunks/Card.map +1 -1
- package/dist/chunks/CardIcon +1 -2
- package/dist/chunks/CardIcon.map +1 -1
- package/dist/chunks/CenteredSlider +1 -2
- package/dist/chunks/CenteredSlider.map +1 -1
- package/dist/chunks/ComboBox +1 -2
- package/dist/chunks/ComboBox.map +1 -1
- package/dist/chunks/ComboBoxPopover +0 -1
- package/dist/chunks/ComboBoxPopover.map +1 -1
- package/dist/chunks/ComboBoxTrigger +575 -63
- package/dist/chunks/ComboBoxTrigger.map +1 -1
- package/dist/chunks/ConnectedButtonGroup +13 -11
- package/dist/chunks/ConnectedButtonGroup.map +1 -1
- package/dist/chunks/Dialog +1 -2
- package/dist/chunks/Dialog.map +1 -1
- package/dist/chunks/Disclosure +1 -2
- package/dist/chunks/Disclosure.map +1 -1
- package/dist/chunks/DisclosureGroup +1 -2
- package/dist/chunks/DisclosureGroup.map +1 -1
- package/dist/chunks/DisclosureHeader +1 -2
- package/dist/chunks/DisclosureHeader.map +1 -1
- package/dist/chunks/DisclosurePanel +1 -2
- package/dist/chunks/DisclosurePanel.map +1 -1
- package/dist/chunks/Divider +1 -2
- package/dist/chunks/Divider.map +1 -1
- package/dist/chunks/FieldError +1 -2
- package/dist/chunks/FieldError.map +1 -1
- package/dist/chunks/GridBackgroundDecorator +0 -1
- package/dist/chunks/GridBackgroundDecorator.map +1 -1
- package/dist/chunks/Icon +1 -2
- package/dist/chunks/Icon.map +1 -1
- package/dist/chunks/Input +67 -78
- package/dist/chunks/Input.map +1 -1
- package/dist/chunks/Input2 +6 -9
- package/dist/chunks/Input2.map +1 -1
- package/dist/chunks/ListAction +12 -0
- package/dist/chunks/ListAction.map +1 -0
- package/dist/chunks/ListAvatar +1 -2
- package/dist/chunks/ListAvatar.map +1 -1
- package/dist/chunks/ListBox +12 -9
- package/dist/chunks/ListBox.map +1 -1
- package/dist/chunks/ListIcon +1 -2
- package/dist/chunks/ListIcon.map +1 -1
- package/dist/chunks/ListItem +62 -49
- package/dist/chunks/ListItem.map +1 -1
- package/dist/chunks/ListLabelText +1 -2
- package/dist/chunks/ListLabelText.map +1 -1
- package/dist/chunks/ListMedia +0 -1
- package/dist/chunks/ListMedia.map +1 -1
- package/dist/chunks/ListOverlineText +1 -2
- package/dist/chunks/ListOverlineText.map +1 -1
- package/dist/chunks/ListSupportingText +1 -2
- package/dist/chunks/ListSupportingText.map +1 -1
- package/dist/chunks/ListTrailingText +20 -0
- package/dist/chunks/ListTrailingText.map +1 -0
- package/dist/chunks/Loader +1 -2
- package/dist/chunks/Loader.map +1 -1
- package/dist/chunks/MenuPopover +1 -2
- package/dist/chunks/MenuPopover.map +1 -1
- package/dist/chunks/Modal +1 -2
- package/dist/chunks/Modal.map +1 -1
- package/dist/chunks/ModalOverlay +1 -2
- package/dist/chunks/ModalOverlay.map +1 -1
- package/dist/chunks/Navigation +2 -4
- package/dist/chunks/Navigation.map +1 -1
- package/dist/chunks/NavigationScrollContainer +7 -6
- package/dist/chunks/NavigationScrollContainer.map +1 -1
- package/dist/chunks/NavigationSection +1 -2
- package/dist/chunks/NavigationSection.map +1 -1
- package/dist/chunks/NavigationSectionLabel +1 -2
- package/dist/chunks/NavigationSectionLabel.map +1 -1
- package/dist/chunks/Popover +1 -2
- package/dist/chunks/Popover.map +1 -1
- package/dist/chunks/RadialGlowDecorator +0 -1
- package/dist/chunks/RadialGlowDecorator.map +1 -1
- package/dist/chunks/Radio +57 -70
- package/dist/chunks/Radio.map +1 -1
- package/dist/chunks/RichTooltip +1 -2
- package/dist/chunks/RichTooltip.map +1 -1
- package/dist/chunks/RichTooltipActions +1 -2
- package/dist/chunks/RichTooltipActions.map +1 -1
- package/dist/chunks/RichTooltipInfo +1 -2
- package/dist/chunks/RichTooltipInfo.map +1 -1
- package/dist/chunks/SearchField +0 -1
- package/dist/chunks/SearchField.map +1 -1
- package/dist/chunks/SelectPopover +1 -2
- package/dist/chunks/SelectPopover.map +1 -1
- package/dist/chunks/SelectTrigger +1 -2
- package/dist/chunks/SelectTrigger.map +1 -1
- package/dist/chunks/SideSheet +8 -9
- package/dist/chunks/SideSheet.map +1 -1
- package/dist/chunks/SideSheetModal +2 -3
- package/dist/chunks/SideSheetModal.map +1 -1
- package/dist/chunks/Slider +0 -1
- package/dist/chunks/Slider.map +1 -1
- package/dist/chunks/SliderOutput +1 -2
- package/dist/chunks/SliderOutput.map +1 -1
- package/dist/chunks/SliderStops +4 -5
- package/dist/chunks/SliderStops.map +1 -1
- package/dist/chunks/SliderThumb +0 -1
- package/dist/chunks/SliderThumb.map +1 -1
- package/dist/chunks/Snackbar +1 -2
- package/dist/chunks/Snackbar.map +1 -1
- package/dist/chunks/SplitButton +14 -12
- package/dist/chunks/SplitButton.map +1 -1
- package/dist/chunks/SplitButtonTrigger +9 -9
- package/dist/chunks/SplitButtonTrigger.map +1 -1
- package/dist/chunks/SubmenuPopover +0 -1
- package/dist/chunks/SubmenuPopover.map +1 -1
- package/dist/chunks/Switch +47 -48
- package/dist/chunks/Switch.map +1 -1
- package/dist/chunks/Tab +1 -2
- package/dist/chunks/Tab.map +1 -1
- package/dist/chunks/TabList +1 -2
- package/dist/chunks/TabList.map +1 -1
- package/dist/chunks/TabPanel +1 -2
- package/dist/chunks/TabPanel.map +1 -1
- package/dist/chunks/TabPanels +1 -2
- package/dist/chunks/TabPanels.map +1 -1
- package/dist/chunks/Tabs +1 -2
- package/dist/chunks/Tabs.map +1 -1
- package/dist/chunks/Tag +1 -2
- package/dist/chunks/Tag.map +1 -1
- package/dist/chunks/ThemeSelector +117 -89
- package/dist/chunks/ThemeSelector.map +1 -1
- package/dist/chunks/Toolbar +0 -1
- package/dist/chunks/Toolbar.map +1 -1
- package/dist/chunks/Tooltip +0 -1
- package/dist/chunks/Tooltip.map +1 -1
- package/dist/chunks/base +1 -2
- package/dist/chunks/base.map +1 -1
- package/dist/chunks/compiler-runtime +4 -5
- package/dist/chunks/compiler-runtime.map +1 -1
- package/dist/chunks/context +1 -2
- package/dist/chunks/context.map +1 -1
- package/dist/chunks/core +30 -31
- package/dist/chunks/core.map +1 -1
- package/dist/chunks/core2 +0 -1
- package/dist/chunks/core2.map +1 -1
- package/dist/chunks/core3 +2 -5
- package/dist/chunks/core3.map +1 -1
- package/dist/chunks/core4 +0 -1
- package/dist/chunks/core4.map +1 -1
- package/dist/chunks/core5 +0 -1
- package/dist/chunks/core5.map +1 -1
- package/dist/chunks/core6 +14 -15
- package/dist/chunks/core6.map +1 -1
- package/dist/chunks/core7 +2 -5
- package/dist/chunks/core7.map +1 -1
- package/dist/chunks/core8 +1 -3
- package/dist/chunks/core8.map +1 -1
- package/dist/chunks/core9 +0 -1
- package/dist/chunks/core9.map +1 -1
- package/dist/chunks/navContext +1 -2
- package/dist/chunks/navContext.map +1 -1
- package/dist/chunks/tapTarget +0 -1
- package/dist/chunks/tapTarget.map +1 -1
- package/dist/chunks/types +1 -2
- package/dist/chunks/types.map +1 -1
- package/dist/chunks/useHover +430 -161
- package/dist/chunks/useHover.map +1 -1
- package/dist/chunks/useSplash +18 -21
- package/dist/chunks/useSplash.map +1 -1
- package/dist/components/AppBar/AppBar/AppBar.d.ts +29 -0
- package/dist/components/AppBar/AppBar/index.js +1 -2
- package/dist/components/AppBar/AppBar/types.d.ts +29 -4
- package/dist/components/AppBar/AppBarAction/AppBarAction.d.ts +19 -1
- package/dist/components/AppBar/AppBarAction/index.js +1 -2
- package/dist/components/AppBar/AppBarAvatar/AppBarAvatar.d.ts +20 -1
- package/dist/components/AppBar/AppBarAvatar/index.js +1 -2
- package/dist/components/AppBar/AppBarHeadline/AppBarHeadline.d.ts +19 -1
- package/dist/components/AppBar/AppBarHeadline/index.js +1 -2
- package/dist/components/AppBar/AppBarState/AppBarState.d.ts +28 -2
- package/dist/components/AppBar/AppBarState/context.d.ts +37 -0
- package/dist/components/AppBar/AppBarState/index.js +16 -12
- package/dist/components/AppBar/AppBarState/index.js.map +1 -1
- package/dist/components/AppBar/core/alignment.d.ts +6 -0
- package/dist/components/AppBar/core/context.d.ts +16 -0
- package/dist/components/AppBar/core/index.js +2 -4
- package/dist/components/AppBar/core/index.js.map +1 -1
- package/dist/components/AppBar/core/size.d.ts +13 -0
- package/dist/components/AppBar/index.js +7 -7
- package/dist/components/Button/Button/Button.d.ts +17 -0
- package/dist/components/Button/Button/index.js +1 -2
- package/dist/components/Button/Button/index.js.map +1 -1
- package/dist/components/Button/Button/types.d.ts +4 -0
- package/dist/components/Button/ButtonGroups/ButtonGroup/ButtonGroup.d.ts +17 -0
- package/dist/components/Button/ButtonGroups/ButtonGroup/index.js +1 -2
- package/dist/components/Button/ButtonGroups/ButtonGroup/types.d.ts +24 -0
- package/dist/components/Button/ButtonGroups/ButtonGroupContext/context.d.ts +22 -0
- package/dist/components/Button/ButtonGroups/ButtonGroupContext/index.js +3 -6
- package/dist/components/Button/ButtonGroups/ButtonGroupContext/index.js.map +1 -1
- package/dist/components/Button/ButtonGroups/ButtonGroupContext/useButtonGroupContext.d.ts +5 -0
- package/dist/components/Button/ButtonGroups/ButtonGroupContext/useConnectedButtonGroupContext.d.ts +5 -0
- package/dist/components/Button/ButtonGroups/ConnectedButton/ConnectedButton.d.ts +13 -0
- package/dist/components/Button/ButtonGroups/ConnectedButton/index.js +1 -2
- package/dist/components/Button/ButtonGroups/ConnectedButton/types.d.ts +19 -1
- package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/ConnectedButtonGroup.d.ts +18 -0
- package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/index.js +1 -2
- package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/types.d.ts +24 -0
- package/dist/components/Button/IconButton/IconButton.d.ts +21 -0
- package/dist/components/Button/IconButton/index.js +1 -2
- package/dist/components/Button/IconButton/index.js.map +1 -1
- package/dist/components/Button/IconButton/types.d.ts +4 -0
- package/dist/components/Button/LinkButton/LinkButton.d.ts +15 -0
- package/dist/components/Button/LinkButton/index.js +1 -2
- package/dist/components/Button/LinkButton/index.js.map +1 -1
- package/dist/components/Button/LinkButton/types.d.ts +4 -0
- package/dist/components/Button/LinkIconButton/LinkIconButton.d.ts +19 -0
- package/dist/components/Button/LinkIconButton/index.js +1 -2
- package/dist/components/Button/LinkIconButton/index.js.map +1 -1
- package/dist/components/Button/LinkIconButton/types.d.ts +4 -0
- package/dist/components/Button/SplitButton/SplitButton/SplitButton.d.ts +24 -0
- package/dist/components/Button/SplitButton/SplitButton/index.js +1 -2
- package/dist/components/Button/SplitButton/SplitButton/types.d.ts +23 -0
- package/dist/components/Button/SplitButton/SplitButtonContext/context.d.ts +11 -0
- package/dist/components/Button/SplitButton/SplitButtonContext/index.js +2 -4
- package/dist/components/Button/SplitButton/SplitButtonContext/index.js.map +1 -1
- package/dist/components/Button/SplitButton/SplitButtonContext/useSplitButtonContext.d.ts +5 -0
- package/dist/components/Button/SplitButton/SplitButtonPrimary/SplitButtonPrimary.d.ts +15 -0
- package/dist/components/Button/SplitButton/SplitButtonPrimary/index.js +3 -4
- package/dist/components/Button/SplitButton/SplitButtonPrimary/index.js.map +1 -1
- package/dist/components/Button/SplitButton/SplitButtonPrimary/types.d.ts +11 -0
- package/dist/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.d.ts +19 -0
- package/dist/components/Button/SplitButton/SplitButtonTrigger/index.js +1 -2
- package/dist/components/Button/SplitButton/SplitButtonTrigger/types.d.ts +5 -0
- package/dist/components/Button/SplitButton/core/index.js +1 -2
- package/dist/components/Button/SplitButton/core/size.d.ts +13 -0
- package/dist/components/Button/ToggleButton/ToggleButton.d.ts +21 -0
- package/dist/components/Button/ToggleButton/index.js +1 -2
- package/dist/components/Button/ToggleButton/index.js.map +1 -1
- package/dist/components/Button/ToggleButton/types.d.ts +14 -0
- package/dist/components/Button/ToggleIconButton/ToggleIconButton.d.ts +21 -0
- package/dist/components/Button/ToggleIconButton/index.js +1 -2
- package/dist/components/Button/ToggleIconButton/index.js.map +1 -1
- package/dist/components/Button/ToggleIconButton/types.d.ts +9 -0
- package/dist/components/Button/core/button.d.ts +33 -0
- package/dist/components/Button/core/color.d.ts +38 -0
- package/dist/components/Button/core/index.js +1 -2
- package/dist/components/Button/core/shape.d.ts +6 -0
- package/dist/components/Button/core/sizes.d.ts +26 -0
- package/dist/components/Button/core/useButtonConfig.d.ts +25 -0
- package/dist/components/Button/core/variant.d.ts +6 -0
- package/dist/components/Button/core/width.d.ts +7 -0
- package/dist/components/Button/core/withTooltip.d.ts +9 -2
- package/dist/components/Calendar/BaseCalendar/BaseCalendar.d.ts +23 -2
- package/dist/components/Calendar/BaseCalendar/index.js +1 -2
- package/dist/components/Calendar/Calendar/Calendar.d.ts +39 -2
- package/dist/components/Calendar/Calendar/index.js +19 -14
- package/dist/components/Calendar/Calendar/index.js.map +1 -1
- package/dist/components/Calendar/CalendarCell/CalendarCell.d.ts +14 -2
- package/dist/components/Calendar/CalendarCell/index.js +1 -2
- package/dist/components/Calendar/CalendarGrid/CalendarGrid.d.ts +12 -2
- package/dist/components/Calendar/CalendarGrid/index.js +1 -2
- package/dist/components/Calendar/CalendarMenuItem/CalendarMenuItem.d.ts +12 -1
- package/dist/components/Calendar/CalendarMenuItem/index.js +1 -2
- package/dist/components/Calendar/CalendarMonthMenu/CalendarMonthMenu.d.ts +14 -2
- package/dist/components/Calendar/CalendarMonthMenu/index.js +3 -4
- package/dist/components/Calendar/CalendarMonthMenu/index.js.map +1 -1
- package/dist/components/Calendar/CalendarYearMenu/CalendarYearMenu.d.ts +14 -2
- package/dist/components/Calendar/CalendarYearMenu/index.js +1 -2
- package/dist/components/Calendar/CalendarYearMenu/index.js.map +1 -1
- package/dist/components/Calendar/RangeCalendar/RangeCalendar.d.ts +40 -2
- package/dist/components/Calendar/RangeCalendar/index.js +20 -17
- package/dist/components/Calendar/RangeCalendar/index.js.map +1 -1
- package/dist/components/Calendar/core/calendar.d.ts +26 -0
- package/dist/components/Calendar/core/index.js +1 -2
- package/dist/components/Calendar/core/useCalendarState.d.ts +15 -0
- package/dist/components/Calendar/index.d.ts +1 -0
- package/dist/components/Calendar/index.js +4 -3
- package/dist/components/Card/Card/Card.d.ts +20 -0
- package/dist/components/Card/Card/types.d.ts +23 -0
- package/dist/components/Card/CardIcon/CardIcon.d.ts +25 -1
- package/dist/components/Card/CardIcon/index.js +1 -2
- package/dist/components/Decorators/GridBackgroundDecorator/GridBackgroundDecorator.d.ts +46 -7
- package/dist/components/Decorators/GridBackgroundDecorator/index.js +1 -2
- package/dist/components/Decorators/RadialGlowDecorator/RadialGlowDecorator.d.ts +53 -6
- package/dist/components/Decorators/RadialGlowDecorator/index.js +1 -2
- package/dist/components/Dialog/ActionDialog/ActionDialog.d.ts +33 -0
- package/dist/components/Dialog/ActionDialog/index.js +1 -2
- package/dist/components/Dialog/ActionDialog/types.d.ts +28 -2
- package/dist/components/Dialog/Dialog/Dialog.d.ts +32 -1
- package/dist/components/Dialog/Dialog/index.js +1 -2
- package/dist/components/Dialog/Modal/Modal.d.ts +24 -1
- package/dist/components/Dialog/Modal/index.js +1 -2
- package/dist/components/Dialog/ModalOverlay/ModalOverlay.d.ts +25 -1
- package/dist/components/Dialog/ModalOverlay/index.js +1 -2
- package/dist/components/Dialog/core/context.d.ts +8 -0
- package/dist/components/Dialog/core/index.js +2 -4
- package/dist/components/Dialog/core/index.js.map +1 -1
- package/dist/components/Dialog/core/typography.d.ts +9 -0
- package/dist/components/Disclosure/Disclosure/Disclosure.d.ts +25 -1
- package/dist/components/Disclosure/Disclosure/index.js +1 -2
- package/dist/components/Disclosure/DisclosureGroup/DisclosureGroup.d.ts +50 -2
- package/dist/components/Disclosure/DisclosureGroup/index.js +1 -2
- package/dist/components/Disclosure/DisclosureHeader/DisclosureHeader.d.ts +31 -2
- package/dist/components/Disclosure/DisclosureHeader/index.js +1 -2
- package/dist/components/Disclosure/DisclosurePanel/DisclosurePanel.d.ts +31 -2
- package/dist/components/Disclosure/DisclosurePanel/index.js +1 -2
- package/dist/components/Disclosure/context/context.d.ts +11 -2
- package/dist/components/Disclosure/context/index.js +1 -2
- package/dist/components/Disclosure/context/index.js.map +1 -1
- package/dist/components/Disclosure/context/useDisclosureTypographyContext.d.ts +18 -2
- package/dist/components/Divider/Divider.d.ts +30 -1
- package/dist/components/Divider/index.js +1 -2
- package/dist/components/Icon/Icon.d.ts +29 -0
- package/dist/components/Icon/index.js +1 -2
- package/dist/components/Icon/types.d.ts +28 -0
- package/dist/components/Input/CharacterCount/CharacterCount.d.ts +11 -2
- package/dist/components/Input/CharacterCount/index.js +1 -2
- package/dist/components/Input/CharacterCount/index.js.map +1 -1
- package/dist/components/Input/Checkbox/Checkbox.d.ts +26 -0
- package/dist/components/Input/Checkbox/CheckboxGroup.d.ts +17 -0
- package/dist/components/Input/Checkbox/context.d.ts +9 -3
- package/dist/components/Input/Checkbox/types.d.ts +32 -5
- package/dist/components/Input/DateField/DateField.d.ts +17 -1
- package/dist/components/Input/DateField/index.js +1 -2
- package/dist/components/Input/DateField/index.js.map +1 -1
- package/dist/components/Input/DateField/types.d.ts +4 -0
- package/dist/components/Input/DatePicker/DatePicker/DatePicker.d.ts +17 -1
- package/dist/components/Input/DatePicker/DatePicker/index.js +1 -2
- package/dist/components/Input/DatePicker/DatePicker/index.js.map +1 -1
- package/dist/components/Input/DatePicker/DatePicker/types.d.ts +10 -0
- package/dist/components/Input/DatePicker/DateRangePicker/DateRangePicker.d.ts +17 -1
- package/dist/components/Input/DatePicker/DateRangePicker/index.js +1 -2
- package/dist/components/Input/DatePicker/DateRangePicker/index.js.map +1 -1
- package/dist/components/Input/DatePicker/DateRangePicker/types.d.ts +10 -0
- package/dist/components/Input/DatePicker/core/datePicker.d.ts +3 -0
- package/dist/components/Input/DatePicker/core/index.js +1 -2
- package/dist/components/Input/Description/Description.d.ts +12 -1
- package/dist/components/Input/Description/index.js +1 -2
- package/dist/components/Input/Description/index.js.map +1 -1
- package/dist/components/Input/FieldError/FieldError.d.ts +12 -1
- package/dist/components/Input/FieldError/index.js +1 -2
- package/dist/components/Input/Input/Input.d.ts +27 -0
- package/dist/components/Input/Input/InputButton.d.ts +10 -1
- package/dist/components/Input/Input/handleInputButton.d.ts +6 -0
- package/dist/components/Input/Input/index.js +1 -2
- package/dist/components/Input/Input/types.d.ts +20 -0
- package/dist/components/Input/Label/Label.d.ts +12 -1
- package/dist/components/Input/Label/index.js +1 -2
- package/dist/components/Input/Label/index.js.map +1 -1
- package/dist/components/Input/Radio/Radio.d.ts +17 -0
- package/dist/components/Input/Radio/RadioGroup.d.ts +17 -0
- package/dist/components/Input/Radio/context.d.ts +9 -3
- package/dist/components/Input/Radio/index.js +1 -2
- package/dist/components/Input/Radio/types.d.ts +32 -6
- package/dist/components/Input/SearchField/SearchField.d.ts +16 -0
- package/dist/components/Input/SearchField/index.js +1 -2
- package/dist/components/Input/SearchField/types.d.ts +9 -0
- package/dist/components/Input/Select/ComboBox/ComboBox.d.ts +29 -1
- package/dist/components/Input/Select/ComboBox/context.d.ts +3 -0
- package/dist/components/Input/Select/ComboBox/index.js +1 -2
- package/dist/components/Input/Select/ComboBox/types.d.ts +9 -0
- package/dist/components/Input/Select/ComboBoxPopover/ComboBoxPopover.d.ts +10 -1
- package/dist/components/Input/Select/ComboBoxPopover/index.js +1 -2
- package/dist/components/Input/Select/ComboBoxTrigger/ComboBoxTrigger.d.ts +10 -2
- package/dist/components/Input/Select/ComboBoxTrigger/index.js +1 -2
- package/dist/components/Input/Select/Select/Select.d.ts +29 -1
- package/dist/components/Input/Select/Select/index.js +1 -2
- package/dist/components/Input/Select/Select/index.js.map +1 -1
- package/dist/components/Input/Select/Select/types.d.ts +4 -0
- package/dist/components/Input/Select/SelectItem/SelectItem.d.ts +19 -0
- package/dist/components/Input/Select/SelectItem/index.js +1 -2
- package/dist/components/Input/Select/SelectItem/index.js.map +1 -1
- package/dist/components/Input/Select/SelectItem/types.d.ts +9 -0
- package/dist/components/Input/Select/SelectList/SelectList.d.ts +14 -2
- package/dist/components/Input/Select/SelectList/index.js +1 -2
- package/dist/components/Input/Select/SelectList/index.js.map +1 -1
- package/dist/components/Input/Select/SelectListSection/SelectListSection.d.ts +4 -1
- package/dist/components/Input/Select/SelectListSection/index.js +1 -2
- package/dist/components/Input/Select/SelectListSection/index.js.map +1 -1
- package/dist/components/Input/Select/SelectListSectionHeader/SelectListSectionHeader.d.ts +3 -0
- package/dist/components/Input/Select/SelectListSectionHeader/index.js +1 -2
- package/dist/components/Input/Select/SelectListSectionHeader/index.js.map +1 -1
- package/dist/components/Input/Select/SelectPopover/SelectPopover.d.ts +10 -1
- package/dist/components/Input/Select/SelectPopover/index.js +1 -2
- package/dist/components/Input/Select/SelectTrigger/SelectTrigger.d.ts +10 -1
- package/dist/components/Input/Select/SelectTrigger/index.js +1 -2
- package/dist/components/Input/Slider/CenteredSlider/CenteredSlider.d.ts +23 -1
- package/dist/components/Input/Slider/CenteredSlider/index.js +1 -2
- package/dist/components/Input/Slider/CenteredSlider/types.d.ts +6 -0
- package/dist/components/Input/Slider/RangeSlider/RangeSlider.d.ts +24 -1
- package/dist/components/Input/Slider/RangeSlider/index.js +1 -2
- package/dist/components/Input/Slider/RangeSlider/index.js.map +1 -1
- package/dist/components/Input/Slider/RangeSlider/types.d.ts +9 -0
- package/dist/components/Input/Slider/Slider/Slider.d.ts +24 -1
- package/dist/components/Input/Slider/Slider/index.js +1 -2
- package/dist/components/Input/Slider/Slider/types.d.ts +13 -0
- package/dist/components/Input/Slider/SliderOutput/SliderOutput.d.ts +19 -1
- package/dist/components/Input/Slider/SliderOutput/index.js +1 -2
- package/dist/components/Input/Slider/SliderStops/SliderStops.d.ts +18 -0
- package/dist/components/Input/Slider/SliderStops/core.d.ts +54 -10
- package/dist/components/Input/Slider/SliderStops/index.js +1 -2
- package/dist/components/Input/Slider/SliderStops/types.d.ts +38 -0
- package/dist/components/Input/Slider/SliderThumb/SliderThumb.d.ts +32 -2
- package/dist/components/Input/Slider/SliderThumb/context.d.ts +20 -0
- package/dist/components/Input/Slider/SliderThumb/index.js +1 -2
- package/dist/components/Input/Slider/core/color.d.ts +1 -0
- package/dist/components/Input/Slider/core/index.js +1 -2
- package/dist/components/Input/Slider/core/size.d.ts +12 -0
- package/dist/components/Input/Slider/core/slider.d.ts +44 -0
- package/dist/components/Input/Slider/core/variant.d.ts +10 -0
- package/dist/components/Input/Switch/Switch.d.ts +32 -0
- package/dist/components/Input/Switch/index.js +1 -2
- package/dist/components/Input/Switch/types.d.ts +35 -3
- package/dist/components/Input/TextArea/TextArea.d.ts +19 -0
- package/dist/components/Input/TextArea/index.js +1 -2
- package/dist/components/Input/TextArea/index.js.map +1 -1
- package/dist/components/Input/TextArea/types.d.ts +11 -0
- package/dist/components/Input/TimeField/TimeField.d.ts +17 -1
- package/dist/components/Input/TimeField/index.js +1 -2
- package/dist/components/Input/TimeField/index.js.map +1 -1
- package/dist/components/Input/TimeField/types.d.ts +4 -0
- package/dist/components/Input/core/index.js +1 -2
- package/dist/components/Input/core/input.d.ts +15 -0
- package/dist/components/Input/core/textField.d.ts +13 -0
- package/dist/components/Input/hooks/index.js +1 -2
- package/dist/components/Input/hooks/index.js.map +1 -1
- package/dist/components/Input/hooks/useControllableState.d.ts +17 -2
- package/dist/components/List/ListAction/ListAction.d.ts +23 -1
- package/dist/components/List/ListAction/index.d.ts +1 -1
- package/dist/components/List/ListAction/index.js +1 -0
- package/dist/components/List/ListAvatar/ListAvatar.d.ts +23 -1
- package/dist/components/List/ListAvatar/index.js +1 -2
- package/dist/components/List/ListBox/ListBox.d.ts +28 -1
- package/dist/components/List/ListBox/index.js +1 -2
- package/dist/components/List/ListBox/types.d.ts +27 -0
- package/dist/components/List/ListIcon/ListIcon.d.ts +19 -1
- package/dist/components/List/ListIcon/index.js +1 -2
- package/dist/components/List/ListItem/ListItem.d.ts +35 -0
- package/dist/components/List/ListItem/index.js +1 -2
- package/dist/components/List/ListItem/types.d.ts +34 -0
- package/dist/components/List/ListLabelText/ListLabelText.d.ts +16 -1
- package/dist/components/List/ListLabelText/index.js +1 -2
- package/dist/components/List/ListMedia/ListMedia.d.ts +20 -0
- package/dist/components/List/ListMedia/index.js +1 -2
- package/dist/components/List/ListMedia/types.d.ts +32 -0
- package/dist/components/List/ListOverlineText/ListOverlineText.d.ts +16 -1
- package/dist/components/List/ListOverlineText/index.js +1 -2
- package/dist/components/List/ListSupportingText/ListSupportingText.d.ts +16 -1
- package/dist/components/List/ListSupportingText/index.js +1 -2
- package/dist/components/List/ListTrailingText/ListTrailingText.d.ts +16 -1
- package/dist/components/List/ListTrailingText/index.d.ts +1 -1
- package/dist/components/List/ListTrailingText/index.js +1 -0
- package/dist/components/List/core/context.d.ts +18 -0
- package/dist/components/List/core/index.d.ts +2 -0
- package/dist/components/List/core/index.js +9 -0
- package/dist/components/List/core/index.js.map +1 -0
- package/dist/components/List/core/selectionIndicator.d.ts +8 -0
- package/dist/components/List/index.d.ts +1 -0
- package/dist/components/List/index.js +12 -9
- package/dist/components/Loader/Loader.d.ts +26 -1
- package/dist/components/Loader/index.js +1 -2
- package/dist/components/Menu/Menu/Menu.d.ts +31 -1
- package/dist/components/Menu/Menu/index.js +1 -2
- package/dist/components/Menu/Menu/index.js.map +1 -1
- package/dist/components/Menu/Menu/types.d.ts +18 -0
- package/dist/components/Menu/MenuItem/MenuItem.d.ts +22 -0
- package/dist/components/Menu/MenuItem/index.js +1 -2
- package/dist/components/Menu/MenuItem/index.js.map +1 -1
- package/dist/components/Menu/MenuItem/types.d.ts +24 -0
- package/dist/components/Menu/MenuPopover/MenuPopover.d.ts +21 -1
- package/dist/components/Menu/MenuPopover/index.js +1 -2
- package/dist/components/Menu/MenuSection/MenuSection.d.ts +23 -1
- package/dist/components/Menu/MenuSection/index.js +1 -2
- package/dist/components/Menu/MenuSection/index.js.map +1 -1
- package/dist/components/Menu/MenuSectionHeader/MenuSectionHeader.d.ts +16 -1
- package/dist/components/Menu/MenuSectionHeader/index.js +1 -2
- package/dist/components/Menu/MenuSectionHeader/index.js.map +1 -1
- package/dist/components/Menu/MenuShortcut/MenuShortcut.d.ts +16 -1
- package/dist/components/Menu/MenuShortcut/index.js +1 -2
- package/dist/components/Menu/MenuShortcut/index.js.map +1 -1
- package/dist/components/Menu/MenuTrailingText/MenuTrailingText.d.ts +16 -1
- package/dist/components/Menu/MenuTrailingText/index.js +1 -2
- package/dist/components/Menu/MenuTrailingText/index.js.map +1 -1
- package/dist/components/Menu/MenuTrigger/MenuTrigger.d.ts +43 -2
- package/dist/components/Menu/MenuTrigger/index.js +1 -2
- package/dist/components/Menu/MenuTrigger/index.js.map +1 -1
- package/dist/components/Menu/SubmenuPopover/SubmenuPopover.d.ts +22 -1
- package/dist/components/Menu/SubmenuPopover/index.js +1 -2
- package/dist/components/Menu/context/context.d.ts +13 -0
- package/dist/components/Menu/context/index.js +2 -4
- package/dist/components/Menu/context/index.js.map +1 -1
- package/dist/components/Menu/context/useMenuConfigContext.d.ts +6 -0
- package/dist/components/Menu/core/color.d.ts +20 -0
- package/dist/components/Menu/core/index.js +1 -2
- package/dist/components/Menu/core/layout.d.ts +17 -0
- package/dist/components/Menu/core/menu.d.ts +18 -0
- package/dist/components/Navigation/Navigation/Navigation.d.ts +28 -0
- package/dist/components/Navigation/Navigation/navContext.d.ts +19 -0
- package/dist/components/Navigation/Navigation/navRenderingContext.d.ts +16 -0
- package/dist/components/Navigation/Navigation/types.d.ts +28 -0
- package/dist/components/Navigation/NavigationItem/NavigationButton/NavigationButton.d.ts +15 -0
- package/dist/components/Navigation/NavigationItem/NavigationButton/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/NavigationButton/index.js.map +1 -1
- package/dist/components/Navigation/NavigationItem/NavigationButton/types.d.ts +9 -0
- package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/NavigationItemIconRenderer.d.ts +21 -2
- package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/index.js.map +1 -1
- package/dist/components/Navigation/NavigationItem/NavigationLink/NavigationLink.d.ts +15 -0
- package/dist/components/Navigation/NavigationItem/NavigationLink/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/NavigationLink/index.js.map +1 -1
- package/dist/components/Navigation/NavigationItem/NavigationLink/types.d.ts +5 -0
- package/dist/components/Navigation/NavigationItem/core/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/core/navigationItem.d.ts +22 -0
- package/dist/components/Navigation/NavigationScrollContainer/NavigationScrollContainer.d.ts +22 -1
- package/dist/components/Navigation/NavigationScrollContainer/index.js +1 -2
- package/dist/components/Navigation/NavigationSection/NavigationSection/NavigationSection.d.ts +24 -1
- package/dist/components/Navigation/NavigationSection/NavigationSection/index.js +1 -2
- package/dist/components/Navigation/NavigationSection/NavigationSectionLabel/NavigationSectionLabel.d.ts +16 -1
- package/dist/components/Navigation/NavigationSection/NavigationSectionLabel/index.js +1 -2
- package/dist/components/Navigation/NavigationState/NavigationState.d.ts +27 -2
- package/dist/components/Navigation/NavigationState/context.d.ts +31 -0
- package/dist/components/Navigation/NavigationState/index.d.ts +1 -0
- package/dist/components/Navigation/NavigationState/index.js +2 -4
- package/dist/components/Navigation/NavigationState/index.js.map +1 -1
- package/dist/components/Navigation/NavigationState/types.d.ts +12 -0
- package/dist/components/Navigation/SubNavigation/SubNavigation/SubNavigation.d.ts +35 -2
- package/dist/components/Navigation/SubNavigation/SubNavigation/index.js +1 -2
- package/dist/components/Navigation/SubNavigation/SubNavigation/index.js.map +1 -1
- package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/SubNavigationTrigger.d.ts +40 -2
- package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/index.js +1 -2
- package/dist/components/Navigation/SubNavigation/SubNavigationTrigger/index.js.map +1 -1
- package/dist/components/Navigation/core/index.js +1 -2
- package/dist/components/Navigation/core/navLabelContext.d.ts +6 -0
- package/dist/components/Navigation/core/navigation.d.ts +9 -0
- package/dist/components/Navigation/core/navigationInfo.d.ts +19 -0
- package/dist/components/Popover/Popover.d.ts +34 -1
- package/dist/components/Popover/index.js +1 -2
- package/dist/components/Sheets/BottomSheet/BottomSheet/BottomSheet.d.ts +40 -0
- package/dist/components/Sheets/BottomSheet/BottomSheet/index.d.ts +2 -0
- package/dist/components/Sheets/BottomSheet/BottomSheet/index.js +1 -0
- package/dist/components/Sheets/BottomSheet/BottomSheet/types.d.ts +37 -0
- package/dist/components/Sheets/BottomSheet/BottomSheetModal/BottomSheetModal.d.ts +36 -0
- package/dist/components/Sheets/BottomSheet/BottomSheetModal/context.d.ts +15 -0
- package/dist/components/Sheets/BottomSheet/BottomSheetModal/index.js +1 -0
- package/dist/components/Sheets/BottomSheet/BottomSheetModal/types.d.ts +43 -0
- package/dist/components/Sheets/BottomSheet/index.d.ts +1 -0
- package/dist/components/Sheets/BottomSheet/index.js +3 -2
- package/dist/components/Sheets/SideSheet/SideSheet/SideSheet.d.ts +48 -0
- package/dist/components/Sheets/SideSheet/SideSheet/SideSheetDialog.d.ts +45 -0
- package/dist/components/Sheets/SideSheet/SideSheet/index.d.ts +3 -0
- package/dist/components/Sheets/SideSheet/SideSheet/index.js +1 -0
- package/dist/components/Sheets/SideSheet/SideSheet/types.d.ts +102 -0
- package/dist/components/Sheets/SideSheet/SideSheetModal/SideSheetModal.d.ts +36 -0
- package/dist/components/Sheets/SideSheet/SideSheetModal/context.d.ts +20 -0
- package/dist/components/Sheets/SideSheet/SideSheetModal/index.js +1 -0
- package/dist/components/Sheets/SideSheet/SideSheetModal/types.d.ts +56 -0
- package/dist/components/Sheets/SideSheet/index.d.ts +1 -2
- package/dist/components/Sheets/SideSheet/index.js +3 -2
- package/dist/components/Sheets/core/layout.d.ts +11 -0
- package/dist/components/Sheets/index.d.ts +0 -2
- package/dist/components/Snackbar/SnackbarRegion.d.ts +50 -0
- package/dist/components/Snackbar/context.d.ts +38 -0
- package/dist/components/Snackbar/index.js +1 -2
- package/dist/components/Snackbar/types.d.ts +69 -0
- package/dist/components/Splash/Splash.d.ts +6 -0
- package/dist/components/Splash/index.js +1 -2
- package/dist/components/Splash/types.d.ts +10 -0
- package/dist/components/Splash/useSplash.d.ts +21 -0
- package/dist/components/Tabs/Tab/Tab.d.ts +33 -2
- package/dist/components/Tabs/Tab/index.js +1 -2
- package/dist/components/Tabs/TabList/TabList.d.ts +42 -1
- package/dist/components/Tabs/TabList/index.js +1 -2
- package/dist/components/Tabs/TabPanel/TabPanel.d.ts +28 -1
- package/dist/components/Tabs/TabPanel/index.js +1 -2
- package/dist/components/Tabs/TabPanels/TabPanels.d.ts +28 -1
- package/dist/components/Tabs/TabPanels/index.js +1 -2
- package/dist/components/Tabs/Tabs/Tabs.d.ts +43 -1
- package/dist/components/Tabs/Tabs/index.js +1 -2
- package/dist/components/Tag/Tag.d.ts +37 -0
- package/dist/components/Tag/core.d.ts +6 -0
- package/dist/components/Tag/index.js +1 -2
- package/dist/components/Tag/types.d.ts +48 -2
- package/dist/components/ThemeSelector/ThemeItem.d.ts +52 -2
- package/dist/components/ThemeSelector/ThemeProvider.d.ts +29 -2
- package/dist/components/ThemeSelector/ThemeSelector.d.ts +24 -0
- package/dist/components/ThemeSelector/core.d.ts +72 -4
- package/dist/components/ThemeSelector/index.d.ts +2 -0
- package/dist/components/ThemeSelector/index.js +1 -2
- package/dist/components/ThemeSelector/types.d.ts +110 -2
- package/dist/components/Toolbar/Toolbar.d.ts +47 -0
- package/dist/components/Toolbar/ToolbarToggleButtonGroup.d.ts +35 -1
- package/dist/components/Toolbar/index.js +1 -2
- package/dist/components/Toolbar/types.d.ts +60 -0
- package/dist/components/Tooltip/RichTooltip/RichTooltip/RichTooltip.d.ts +56 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltip/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipActions/RichTooltipActions.d.ts +27 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipActions/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipInfo/RichTooltipInfo.d.ts +31 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipInfo/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipSubhead/RichTooltipSubhead.d.ts +22 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipSubhead/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipSubhead/index.js.map +1 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipText/RichTooltipText.d.ts +26 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipText/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipText/index.js.map +1 -1
- package/dist/components/Tooltip/RichTooltip/RichTooltipTrigger/RichTooltipTrigger.d.ts +53 -0
- package/dist/components/Tooltip/RichTooltip/RichTooltipTrigger/index.d.ts +1 -0
- package/dist/components/Tooltip/RichTooltip/RichTooltipTrigger/index.js +11 -0
- package/dist/components/Tooltip/RichTooltip/RichTooltipTrigger/index.js.map +1 -0
- package/dist/components/Tooltip/RichTooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/RichTooltip/index.js +2 -1
- package/dist/components/Tooltip/Tooltip/Tooltip.d.ts +35 -1
- package/dist/components/Tooltip/Tooltip/index.js +1 -2
- package/dist/components/Tooltip/TooltipTrigger/TooltipTrigger.d.ts +29 -1
- package/dist/components/Tooltip/TooltipTrigger/index.js +1 -2
- package/dist/components/Tooltip/TooltipTrigger/index.js.map +1 -1
- package/dist/components/Tooltip/index.js +4 -3
- package/dist/index.d.ts +0 -1
- package/dist/index.js +131 -139
- package/dist/index.js.map +1 -1
- package/dist/preview/AppBar/AppBar.d.ts +2 -0
- package/dist/preview/AppBar/index.d.ts +1 -0
- package/dist/preview/BottomSheet/BottomSheet.d.ts +6 -0
- package/dist/preview/BottomSheet/index.d.ts +1 -0
- package/dist/preview/Button/Button.d.ts +2 -0
- package/dist/preview/Button/index.d.ts +1 -0
- package/dist/preview/ButtonGroup/ButtonGroup.d.ts +2 -0
- package/dist/preview/ButtonGroup/index.d.ts +1 -0
- package/dist/preview/Calendar/Calendar.d.ts +2 -0
- package/dist/preview/Calendar/index.d.ts +1 -0
- package/dist/preview/Card/Card.d.ts +2 -0
- package/dist/preview/Card/index.d.ts +1 -0
- package/dist/preview/CenteredSlider/CenteredSlider.d.ts +2 -0
- package/dist/preview/CenteredSlider/index.d.ts +1 -0
- package/dist/preview/Checkbox/Checkbox.d.ts +2 -0
- package/dist/preview/Checkbox/index.d.ts +1 -0
- package/dist/preview/Config/Config.d.ts +8 -0
- package/dist/preview/Config/index.d.ts +1 -0
- package/dist/preview/ConnectedButtonGroup/ConnectedButtonGroup.d.ts +2 -0
- package/dist/preview/ConnectedButtonGroup/index.d.ts +1 -0
- package/dist/preview/DateField/DateField.d.ts +6 -0
- package/dist/preview/DateField/index.d.ts +1 -0
- package/dist/preview/DatePicker/DatePicker.d.ts +2 -0
- package/dist/preview/DatePicker/index.d.ts +1 -0
- package/dist/preview/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/dist/preview/DateRangePicker/index.d.ts +1 -0
- package/dist/preview/Decorators/Decorators.d.ts +2 -0
- package/dist/preview/Decorators/index.d.ts +1 -0
- package/dist/preview/Dialog/Dialog.d.ts +2 -0
- package/dist/preview/Dialog/index.d.ts +1 -0
- package/dist/preview/Disclosure/Disclosure.d.ts +2 -0
- package/dist/preview/Disclosure/index.d.ts +1 -0
- package/dist/preview/Gradients/Gradients.d.ts +6 -0
- package/dist/preview/Gradients/index.d.ts +1 -0
- package/dist/preview/Icon/Icon.d.ts +2 -0
- package/dist/preview/Icon/index.d.ts +1 -0
- package/dist/preview/IconButton/IconButton.d.ts +2 -0
- package/dist/preview/IconButton/index.d.ts +1 -0
- package/dist/preview/Input/Input.d.ts +6 -0
- package/dist/preview/Input/index.d.ts +1 -0
- package/dist/preview/Link/Link.d.ts +2 -0
- package/dist/preview/Link/index.d.ts +1 -0
- package/dist/preview/List/List.d.ts +2 -0
- package/dist/preview/List/index.d.ts +1 -0
- package/dist/preview/Menu/Menu.d.ts +3 -0
- package/dist/preview/Menu/index.d.ts +1 -0
- package/dist/preview/Navigation/Navigation.d.ts +3 -0
- package/dist/preview/Navigation/index.d.ts +1 -0
- package/dist/preview/Radio/Radio.d.ts +2 -0
- package/dist/preview/Radio/index.d.ts +1 -0
- package/dist/preview/RangeCalendar/RangeCalendar.d.ts +2 -0
- package/dist/preview/RangeCalendar/index.d.ts +1 -0
- package/dist/preview/RangeSlider/RangeSlider.d.ts +2 -0
- package/dist/preview/RangeSlider/index.d.ts +1 -0
- package/dist/preview/SearchField/SearchField.d.ts +2 -0
- package/dist/preview/SearchField/index.d.ts +1 -0
- package/dist/preview/Select/Select.d.ts +2 -0
- package/dist/preview/Select/index.d.ts +1 -0
- package/dist/preview/SideSheet/SideSheet.d.ts +7 -0
- package/dist/preview/SideSheet/index.d.ts +1 -0
- package/dist/preview/Slider/Slider.d.ts +2 -0
- package/dist/preview/Slider/index.d.ts +1 -0
- package/dist/preview/Snackbar/Snackbar.d.ts +2 -0
- package/dist/preview/Snackbar/index.d.ts +1 -0
- package/dist/preview/SplitButton/SplitButton.d.ts +10 -0
- package/dist/preview/SplitButton/index.d.ts +1 -0
- package/dist/preview/Switch/Switch.d.ts +2 -0
- package/dist/preview/Switch/index.d.ts +1 -0
- package/dist/preview/Tabs/Tabs.d.ts +7 -0
- package/dist/preview/Tabs/index.d.ts +1 -0
- package/dist/preview/Tags/Tags.d.ts +2 -0
- package/dist/preview/Tags/index.d.ts +1 -0
- package/dist/preview/TextArea/TextArea.d.ts +6 -0
- package/dist/preview/TextArea/index.d.ts +1 -0
- package/dist/preview/ThemeSelector/ThemeSelector.d.ts +2 -0
- package/dist/preview/ThemeSelector/index.d.ts +1 -0
- package/dist/preview/TimeField/TimeField.d.ts +6 -0
- package/dist/preview/TimeField/index.d.ts +1 -0
- package/dist/preview/Toolbar/Toolbar.d.ts +10 -0
- package/dist/preview/Toolbar/index.d.ts +1 -0
- package/dist/preview/Tooltip/Tooltip.d.ts +2 -0
- package/dist/preview/Tooltip/index.d.ts +1 -0
- package/dist/utils/gradients/gradients.d.ts +97 -0
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/ref/ref.d.ts +35 -2
- package/dist/utils/scroll/scroll.d.ts +67 -4
- package/dist/utils/tapTarget/tapTarget.d.ts +57 -0
- package/dist/utils/theme/build.d.ts +24 -0
- package/dist/utils/theme/types.d.ts +70 -0
- package/dist/utils/theme/useTheme.d.ts +40 -0
- package/dist/utils/typography/base.d.ts +68 -0
- package/dist/utils/typography/core.d.ts +16 -0
- package/dist/utils/typography/fluid.d.ts +36 -0
- package/package.json +24 -26
- package/dist/chunks/useGlobalListeners +0 -294
- package/dist/chunks/useGlobalListeners.map +0 -1
- package/dist/chunks/usePress +0 -535
- package/dist/chunks/usePress.map +0 -1
- package/dist/components/Image/Image.d.ts +0 -2
- package/dist/components/Image/index.d.ts +0 -2
- package/dist/components/Image/index.js +0 -29
- package/dist/components/Image/index.js.map +0 -1
- package/dist/components/Image/types.d.ts +0 -9
- package/dist/components/Sheets/BottomSheet/BottomSheet.d.ts +0 -2
- package/dist/components/Sheets/BottomSheetModal/BottomSheetModal.d.ts +0 -2
- package/dist/components/Sheets/BottomSheetModal/context.d.ts +0 -5
- package/dist/components/Sheets/BottomSheetModal/index.js +0 -2
- package/dist/components/Sheets/BottomSheetModal/types.d.ts +0 -5
- package/dist/components/Sheets/SideSheet/SideSheet.d.ts +0 -2
- package/dist/components/Sheets/SideSheet/SideSheetDialog.d.ts +0 -2
- package/dist/components/Sheets/SideSheet/types.d.ts +0 -8
- package/dist/components/Sheets/SideSheetModal/SideSheetModal.d.ts +0 -2
- package/dist/components/Sheets/SideSheetModal/context.d.ts +0 -7
- package/dist/components/Sheets/SideSheetModal/index.js +0 -2
- package/dist/components/Sheets/SideSheetModal/types.d.ts +0 -7
- package/dist/utils/form/form.d.ts +0 -13
- package/dist/utils/form/index.d.ts +0 -1
- /package/dist/components/Sheets/{BottomSheetModal → BottomSheet/BottomSheetModal}/index.d.ts +0 -0
- /package/dist/components/Sheets/{SideSheetModal → SideSheet/SideSheetModal}/index.d.ts +0 -0
package/dist/chunks/SliderStops
CHANGED
|
@@ -2,7 +2,7 @@ import e from "clsx";
|
|
|
2
2
|
import { useContext as t, useMemo as n } from "react";
|
|
3
3
|
import { jsx as r } from "react/jsx-runtime";
|
|
4
4
|
import { SliderStateContext as i } from "react-aria-components";
|
|
5
|
-
import '../assets/SliderStops.css'
|
|
5
|
+
import '../assets/SliderStops.css';// src/components/Input/Slider/SliderStops/core.ts
|
|
6
6
|
var a = 20, o = (e) => {
|
|
7
7
|
let t = 0, n = e.toString(), r = n.toLowerCase().indexOf("e-");
|
|
8
8
|
if (r > 0) t = Math.abs(Math.floor(Math.log10(Math.abs(e)))) + r;
|
|
@@ -61,7 +61,7 @@ var a = 20, o = (e) => {
|
|
|
61
61
|
stopValue: i
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
}, m = ({ firstThumbValue: e, secondThumbValue: t, stopValue: n }) => n === e || n === t, h = ({ slider: e, midValue: t, stopValue: n }) => e === "centered"
|
|
64
|
+
}, m = ({ firstThumbValue: e, secondThumbValue: t, stopValue: n }) => n === e || n === t, h = ({ slider: e, midValue: t, stopValue: n }) => e === "centered" && n === t, g = {
|
|
65
65
|
stops: "_stops_2wvkt_2",
|
|
66
66
|
stop: "_stop_2wvkt_2"
|
|
67
67
|
}, _ = ({ orientation: a, slider: o = "standard", minValue: s, maxValue: c, step: u, showInBetweenSteps: d, maxStops: f }) => {
|
|
@@ -103,9 +103,9 @@ var a = 20, o = (e) => {
|
|
|
103
103
|
slider: o,
|
|
104
104
|
midValue: y,
|
|
105
105
|
stopValue: t
|
|
106
|
-
});
|
|
106
|
+
}), l = a === "horizontal" ? { insetInlineStart: `${n * 100}%` } : { insetBlockEnd: `${n * 100}%` };
|
|
107
107
|
return /* @__PURE__ */ r("div", {
|
|
108
|
-
style:
|
|
108
|
+
style: l,
|
|
109
109
|
"data-orientation": a,
|
|
110
110
|
className: e(g.stop),
|
|
111
111
|
"data-disabled": v.isDisabled || void 0,
|
|
@@ -118,7 +118,6 @@ var a = 20, o = (e) => {
|
|
|
118
118
|
})
|
|
119
119
|
});
|
|
120
120
|
};
|
|
121
|
-
//#endregion
|
|
122
121
|
export { _ as t };
|
|
123
122
|
|
|
124
123
|
//# sourceMappingURL=SliderStops.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderStops","names":["stops"],"sources":["../../src/components/Input/Slider/SliderStops/core.ts","../../src/components/Input/Slider/SliderStops/sliderStops.module.css","../../src/components/Input/Slider/SliderStops/SliderStops.tsx"],"sourcesContent":["import type { SliderVariant } from \"../core\";\nimport type { CalculateStops, Stop } from \"./types\";\n\nconst DEFAULT_MAX_STOPS = 20;\n\n/**\n * React Aria style clamp.\n */\nexport const clamp = (\n value: number,\n min: number = -Infinity,\n max: number = Infinity\n): number => {\n return Math.min(Math.max(value, min), max);\n};\n\n/**\n * React Aria precision extraction.\n *\n * Handles:\n * - 0.1\n * - 0.01\n * - 1e-7\n */\nexport const getStepPrecision = (step: number): number => {\n let precision = 0;\n\n const stepString = step.toString();\n\n const exponentialIndex = stepString.toLowerCase().indexOf(\"e-\");\n\n if (exponentialIndex > 0) {\n precision =\n Math.abs(Math.floor(Math.log10(Math.abs(step)))) + exponentialIndex;\n } else {\n const pointIndex = stepString.indexOf(\".\");\n\n if (pointIndex >= 0) {\n precision = stepString.length - pointIndex;\n }\n }\n\n return precision;\n};\n\n/**\n * React Aria style precision correction.\n */\nexport const roundToStepPrecision = (value: number, step: number): number => {\n const precision = getStepPrecision(step);\n\n if (precision <= 0) {\n return value;\n }\n\n const pow = 10 ** precision;\n\n return Math.round(value * pow) / pow;\n};\n\n/**\n * React Aria snap implementation.\n */\nexport const snapValueToStep = ({\n value,\n minValue,\n maxValue,\n step,\n}: {\n value: number;\n minValue: number;\n maxValue: number;\n step: number;\n}): number => {\n const remainder = (value - minValue) % step;\n\n let snappedValue = roundToStepPrecision(\n Math.abs(remainder) * 2 >= step\n ? value + Math.sign(remainder) * (step - Math.abs(remainder))\n : value - remainder,\n step\n );\n\n if (snappedValue < minValue) {\n snappedValue = minValue;\n } else if (snappedValue > maxValue) {\n snappedValue =\n minValue +\n Math.floor(\n roundToStepPrecision((maxValue - minValue) / step, step)\n ) *\n step;\n }\n\n snappedValue = roundToStepPrecision(snappedValue, step);\n\n return snappedValue;\n};\n\n/**\n * Generates all valid slider stops using\n * the same stepping logic as React Aria.\n */\nexport const calcStops: CalculateStops = ({\n minValue,\n maxValue,\n step,\n showInBetweenSteps = true,\n maxStops = DEFAULT_MAX_STOPS,\n}) => {\n /**\n * Invalid configuration fallback.\n */\n if (step <= 0 || Number.isNaN(step) || maxValue < minValue) {\n return [];\n }\n\n const range = maxValue - minValue;\n\n /**\n * React Aria consistent last valid stop.\n *\n * Example:\n * min=0\n * max=10\n * step=3\n *\n * valid values:\n * 0 3 6 9\n */\n const lastStopValue = snapValueToStep({\n value: maxValue,\n minValue,\n maxValue,\n step,\n });\n\n const createStop = (stopValue: number): Stop => ({\n stopValue,\n percent: range === 0 ? 0 : (stopValue - minValue) / range,\n });\n\n /**\n * Reduced stop rendering mode.\n */\n if (step === 1 || !showInBetweenSteps) {\n return [createStop(minValue), createStop(lastStopValue)];\n }\n\n const stops: Stop[] = [];\n\n let value = minValue;\n\n while (value <= lastStopValue) {\n stops.push(createStop(value));\n\n const nextValue = snapValueToStep({\n value: value + step,\n minValue,\n maxValue,\n step,\n });\n\n /**\n * Prevent infinite loops caused by\n * floating precision edge cases.\n */\n if (nextValue === value) {\n break;\n }\n\n value = nextValue;\n\n /**\n * DOM safety guard.\n */\n if (stops.length > maxStops) {\n return [createStop(minValue), createStop(lastStopValue)];\n }\n }\n\n return stops;\n};\n\nconst checkInActiveRangeStandardSlider = ({\n thumbValue,\n stopValue,\n}: {\n thumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue < thumbValue;\n};\n\nconst checkInActiveRangeRangeSlider = ({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue > firstThumbValue && stopValue < secondThumbValue;\n};\n\nconst checkInActiveRangeCenteredSlider = ({\n thumbValue,\n stopValue,\n midValue,\n}: {\n thumbValue: number;\n stopValue: number;\n midValue: number;\n}): boolean => {\n return (\n (stopValue < midValue && stopValue > thumbValue) ||\n (stopValue > midValue && stopValue < thumbValue) ||\n stopValue === midValue\n );\n};\n\nexport const checkInActiveRange = ({\n slider,\n midValue,\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n slider: SliderVariant;\n midValue: number;\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n switch (slider) {\n case \"standard\":\n return checkInActiveRangeStandardSlider({\n thumbValue: firstThumbValue,\n stopValue,\n });\n\n case \"range\":\n return checkInActiveRangeRangeSlider({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n case \"centered\":\n return checkInActiveRangeCenteredSlider({\n thumbValue: firstThumbValue,\n midValue,\n stopValue,\n });\n }\n};\n\nexport const checkIsBelowThumb = ({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue === firstThumbValue || stopValue === secondThumbValue;\n};\n\nexport const shouldHide = ({\n slider,\n midValue,\n stopValue,\n}: {\n slider: SliderVariant;\n midValue: number;\n stopValue: number;\n}): boolean => {\n if (slider !== \"centered\") {\n return false;\n }\n\n return stopValue === midValue;\n};\n","@layer adgytec.comps {\n .stops {\n position: absolute;\n inset: 0;\n pointer-events: none;\n }\n\n .stop {\n position: absolute;\n\n &[data-orientation=\"horizontal\"] {\n inset-block-start: 50%;\n translate: -50% -50%;\n }\n\n &[data-orientation=\"vertical\"] {\n inset-inline-start: 50%;\n translate: -50% 50%;\n }\n\n inline-size: var(--md-sys-layout-space-4);\n aspect-ratio: 1 / 1;\n\n border-radius: var(--md-sys-shape-corner-radius-full);\n background-color: var(--_md-slider-inactive-stop-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-in-active] {\n background-color: var(--_md-slider-active-stop-color);\n }\n\n &[data-hide] {\n background-color: transparent;\n }\n\n &[data-disabled] {\n background-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-in-active] {\n background-color: rgb(\n from var(--md-sys-color-inverse-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n\n &[data-hide] {\n background-color: transparent;\n }\n }\n\n &[data-below-thumb] {\n background-color: transparent;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { useContext, useMemo } from \"react\";\nimport { SliderStateContext } from \"react-aria-components\";\nimport {\n calcStops,\n checkInActiveRange,\n checkIsBelowThumb,\n shouldHide,\n} from \"./core\";\nimport styles from \"./sliderStops.module.css\";\nimport type { SliderStopsProps } from \"./types\";\n\nexport const SliderStops: React.FC<SliderStopsProps> = ({\n orientation,\n slider = \"standard\",\n minValue,\n maxValue,\n step,\n showInBetweenSteps,\n maxStops,\n}) => {\n const stops = useMemo(() => {\n const stops = calcStops({\n minValue,\n maxValue,\n step,\n showInBetweenSteps,\n maxStops,\n });\n if (orientation === \"vertical\") {\n stops.reverse();\n }\n\n return stops;\n }, [minValue, maxValue, step, showInBetweenSteps, orientation, maxStops]);\n\n const sliderState = useContext(SliderStateContext);\n if (!sliderState) return null;\n\n const midValue = (minValue + maxValue) / 2;\n const firstThumbValue = sliderState.getThumbValue(0);\n const secondThumbValue = sliderState.getThumbValue(1) ?? NaN;\n\n const shouldHideActive = stops.length === 2;\n\n return (\n <div\n className={clsx(styles[\"stops\"])}\n data-orientation={orientation}\n data-slider-stops\n >\n {stops.map(({ stopValue, percent }) => {\n const inActiveRange = checkInActiveRange({\n slider,\n midValue,\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n const belowThumb = checkIsBelowThumb({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n const hide = shouldHide({ slider, midValue, stopValue });\n\n const style =\n orientation === \"horizontal\"\n ? { insetInlineStart: `${percent * 100}%` }\n : { insetBlockEnd: `${percent * 100}%` };\n\n return (\n <div\n key={stopValue}\n style={style}\n data-orientation={orientation}\n className={clsx(styles[\"stop\"])}\n data-disabled={sliderState.isDisabled || undefined}\n data-below-thumb={belowThumb || undefined}\n data-stop-value={stopValue}\n data-in-active={inActiveRange || undefined}\n data-hide={\n hide ||\n (shouldHideActive && inActiveRange) ||\n undefined\n }\n data-slider-stop\n />\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAGA,IAAM,IAAoB,IAqBb,KAAoB,MAAyB;CACtD,IAAI,IAAY,GAEV,IAAa,EAAK,SAAS,GAE3B,IAAmB,EAAW,YAAY,CAAC,CAAC,QAAQ,IAAI;CAE9D,IAAI,IAAmB,GACnB,IACI,KAAK,IAAI,KAAK,MAAM,KAAK,MAAM,KAAK,IAAI,CAAI,CAAC,CAAC,CAAC,IAAI;MACpD;EACH,IAAM,IAAa,EAAW,QAAQ,GAAG;EAEzC,AAAI,KAAc,MACd,IAAY,EAAW,SAAS;CAExC;CAEA,OAAO;AACX,GAKa,KAAwB,GAAe,MAAyB;CACzE,IAAM,IAAY,EAAiB,CAAI;CAEvC,IAAI,KAAa,GACb,OAAO;CAGX,IAAM,IAAM,MAAM;CAElB,OAAO,KAAK,MAAM,IAAQ,CAAG,IAAI;AACrC,GAKa,KAAmB,EAC5B,UACA,aACA,aACA,cAMU;CACV,IAAM,KAAa,IAAQ,KAAY,GAEnC,IAAe,EACf,KAAK,IAAI,CAAS,IAAI,KAAK,IACrB,IAAQ,KAAK,KAAK,CAAS,KAAK,IAAO,KAAK,IAAI,CAAS,KACzD,IAAQ,GACd,CACJ;CAeA,OAbI,IAAe,IACf,IAAe,IACR,IAAe,MACtB,IACI,IACA,KAAK,MACD,GAAsB,IAAW,KAAY,GAAM,CAAI,CAC3D,IACI,IAGZ,IAAe,EAAqB,GAAc,CAAI,GAE/C;AACX,GAMa,KAA6B,EACtC,aACA,aACA,SACA,wBAAqB,IACrB,cAAW,QACT;CAIF,IAAI,KAAQ,KAAK,OAAO,MAAM,CAAI,KAAK,IAAW,GAC9C,OAAO,CAAA;CAGX,IAAM,IAAQ,IAAW,GAanB,IAAgB,EAAgB;EAClC,OAAO;EACP;EACA;EACA;CACJ,CAAC,GAEK,KAAc,OAA6B;EAC7C;EACA,SAAS,MAAU,IAAI,KAAK,IAAY,KAAY;CACxD;CAKA,IAAI,MAAS,KAAK,CAAC,GACf,OAAO,CAAC,EAAW,CAAQ,GAAG,EAAW,CAAa,CAAC;CAG3D,IAAM,IAAgB,CAAA,GAElB,IAAQ;CAEZ,OAAO,KAAS,IAAe;EAC3B,EAAM,KAAK,EAAW,CAAK,CAAC;EAE5B,IAAM,IAAY,EAAgB;GAC9B,OAAO,IAAQ;GACf;GACA;GACA;EACJ,CAAC;EAMD,IAAI,MAAc,GACd;EAQJ,IALA,IAAQ,GAKJ,EAAM,SAAS,GACf,OAAO,CAAC,EAAW,CAAQ,GAAG,EAAW,CAAa,CAAC;CAE/D;CAEA,OAAO;AACX,GAEM,KAAoC,EACtC,eACA,mBAKO,IAAY,GAGjB,KAAiC,EACnC,oBACA,qBACA,mBAMO,IAAY,KAAmB,IAAY,GAGhD,KAAoC,EACtC,eACA,cACA,kBAOK,IAAY,KAAY,IAAY,KACpC,IAAY,KAAY,IAAY,KACrC,MAAc,GAIT,KAAsB,EAC/B,WACA,aACA,oBACA,qBACA,mBAOW;CACX,QAAQ,GAAR;EACI,KAAK,YACD,OAAO,EAAiC;GACpC,YAAY;GACZ;EACJ,CAAC;EAEL,KAAK,SACD,OAAO,EAA8B;GACjC;GACA;GACA;EACJ,CAAC;EAEL,KAAK,YACD,OAAO,EAAiC;GACpC,YAAY;GACZ;GACA;EACJ,CAAC;CACT;AACJ,GAEa,KAAqB,EAC9B,oBACA,qBACA,mBAMO,MAAc,KAAmB,MAAc,GAG7C,KAAc,EACvB,WACA,aACA,mBAMI,MAAW,aAIR,MAAc,IAHV;;;GE5QF,KAA2C,EACpD,gBACA,YAAS,YACT,aACA,aACA,SACA,uBACA,kBACE;CACF,IAAMA,IAAQ,QAAc;EACxB,IAAM,IAAQ,EAAU;GACpB;GACA;GACA;GACA;GACA;EACJ,CAAC;EAKD,OAJI,MAAgB,cAChB,EAAM,QAAQ,GAGX;CACX,GAAG;EAAC;EAAU;EAAU;EAAM;EAAoB;EAAa;CAAQ,CAAC,GAElE,IAAc,EAAW,CAAkB;CACjD,IAAI,CAAC,GAAa,OAAO;CAEzB,IAAM,KAAY,IAAW,KAAY,GACnC,IAAkB,EAAY,cAAc,CAAC,GAC7C,IAAmB,EAAY,cAAc,CAAC,KAAK,KAEnD,IAAmBA,EAAM,WAAW;CAE1C,OACI,kBAAC,OAAD;EACI,WAAW,EAAK,EAAO,KAAQ;EAC/B,oBAAkB;EAClB,qBAAA;YAECA,EAAM,KAAK,EAAE,cAAW,iBAAc;GACnC,IAAM,IAAgB,EAAmB;IACrC;IACA;IACA;IACA;IACA;GACJ,CAAC,GAEK,IAAa,EAAkB;IACjC;IACA;IACA;GACJ,CAAC,GAEK,IAAO,EAAW;IAAE;IAAQ;IAAU;GAAU,CAAC;GAOvD,OACI,kBAAC,OAAD;IAEW,OAPX,MAAgB,eACV,EAAE,kBAAkB,GAAG,IAAU,IAAG,GAAI,IACxC,EAAE,eAAe,GAAG,IAAU,IAAG,GAAI;IAMvC,oBAAkB;IAClB,WAAW,EAAK,EAAO,IAAO;IAC9B,iBAAe,EAAY,cAAc,KAAA;IACzC,oBAAkB,KAAc,KAAA;IAChC,mBAAiB;IACjB,kBAAgB,KAAiB,KAAA;IACjC,aACI,KACC,KAAoB,KACrB,KAAA;IAEJ,oBAAA;GAAgB,GAbX,CAaW;EAG5B,CAAC;CACA,CAAA;AAEb"}
|
|
1
|
+
{"version":3,"file":"SliderStops","names":["stops","clsx","styles","clsx$1","DEFAULT_MAX_STOPS","getStepPrecision","precision","stepString","step","exponentialIndex","pointIndex","roundToStepPrecision","value","pow","snapValueToStep","remainder","minValue","snappedValue","maxValue","calcStops","range","lastStopValue","createStop","stopValue","showInBetweenSteps","stops","nextValue","maxStops","checkInActiveRangeStandardSlider","thumbValue","checkInActiveRangeRangeSlider","firstThumbValue","secondThumbValue","checkInActiveRangeCenteredSlider","midValue","checkInActiveRange","slider","checkIsBelowThumb","shouldHide","sliderStops_module_default","SliderStops","stops_0","useMemo","orientation","sliderState","useContext","SliderStateContext","shouldHideActive","\"stops\"","inActiveRange","belowThumb","hide","style","percent","\"stop\""],"sources":["../../src/components/Input/Slider/SliderStops/core.ts","../../src/components/Input/Slider/SliderStops/sliderStops.module.css","../../src/components/Input/Slider/SliderStops/SliderStops.tsx"],"sourcesContent":["import type { SliderVariant } from \"../core\";\nimport type { CalculateStops, Stop } from \"./types\";\n\nconst DEFAULT_MAX_STOPS = 20;\n\n/**\n * Clamps a numeric value between minimum and maximum bounds.\n *\n * @param value - The input value to clamp.\n * @param min - The lower bound. Defaults to `-Infinity`.\n * @param max - The upper bound. Defaults to `Infinity`.\n * @returns The clamped value within `[min, max]`.\n */\nexport const clamp = (\n value: number,\n min: number = -Infinity,\n max: number = Infinity\n): number => {\n return Math.min(Math.max(value, min), max);\n};\n\n/**\n * Calculates the decimal precision (number of decimal places) of a step value.\n *\n * Supports standard fractional numbers (e.g. `0.01` -> 2) and scientific notation (e.g. `1e-7` -> 7).\n *\n * @param step - The step increment.\n * @returns The number of decimal places represented by the step.\n */\nexport const getStepPrecision = (step: number): number => {\n let precision = 0;\n\n const stepString = step.toString();\n\n const exponentialIndex = stepString.toLowerCase().indexOf(\"e-\");\n\n if (exponentialIndex > 0) {\n precision =\n Math.abs(Math.floor(Math.log10(Math.abs(step)))) + exponentialIndex;\n } else {\n const pointIndex = stepString.indexOf(\".\");\n\n if (pointIndex >= 0) {\n precision = stepString.length - pointIndex;\n }\n }\n\n return precision;\n};\n\n/**\n * Rounds a numeric value to the precision determined by the step value\n * to eliminate floating-point calculation inaccuracies.\n *\n * @param value - The value to round.\n * @param step - The step determining precision.\n * @returns The rounded numeric value.\n */\nexport const roundToStepPrecision = (value: number, step: number): number => {\n const precision = getStepPrecision(step);\n\n if (precision <= 0) {\n return value;\n }\n\n const pow = 10 ** precision;\n\n return Math.round(value * pow) / pow;\n};\n\n/**\n * Snaps a given number to the nearest valid step increment between min and max bounds.\n *\n * @param options - Configuration object containing value, minValue, maxValue, and step.\n * @returns The snapped value aligned to the step grid.\n */\nexport const snapValueToStep = ({\n value,\n minValue,\n maxValue,\n step,\n}: {\n value: number;\n minValue: number;\n maxValue: number;\n step: number;\n}): number => {\n const remainder = (value - minValue) % step;\n\n let snappedValue = roundToStepPrecision(\n Math.abs(remainder) * 2 >= step\n ? value + Math.sign(remainder) * (step - Math.abs(remainder))\n : value - remainder,\n step\n );\n\n if (snappedValue < minValue) {\n snappedValue = minValue;\n } else if (snappedValue > maxValue) {\n snappedValue =\n minValue +\n Math.floor(\n roundToStepPrecision((maxValue - minValue) / step, step)\n ) *\n step;\n }\n\n snappedValue = roundToStepPrecision(snappedValue, step);\n\n return snappedValue;\n};\n\n/**\n * Generates all valid slider tick stops along the track using stepping logic\n * compatible with React Aria.\n *\n * If the number of generated stops exceeds `maxStops` or `showInBetweenSteps` is false,\n * only the minimum and maximum boundaries are returned to prevent excessive DOM nodes.\n *\n * @param options - Stop calculation configuration.\n * @returns Array of calculated {@link Stop} objects with `stopValue` and `percent`.\n */\nexport const calcStops: CalculateStops = ({\n minValue,\n maxValue,\n step,\n showInBetweenSteps = true,\n maxStops = DEFAULT_MAX_STOPS,\n}) => {\n /**\n * Invalid configuration fallback.\n */\n if (step <= 0 || Number.isNaN(step) || maxValue < minValue) {\n return [];\n }\n\n const range = maxValue - minValue;\n\n /**\n * React Aria consistent last valid stop.\n *\n * Example:\n * min=0\n * max=10\n * step=3\n *\n * valid values:\n * 0 3 6 9\n */\n const lastStopValue = snapValueToStep({\n value: maxValue,\n minValue,\n maxValue,\n step,\n });\n\n const createStop = (stopValue: number): Stop => ({\n stopValue,\n percent: range === 0 ? 0 : (stopValue - minValue) / range,\n });\n\n /**\n * Reduced stop rendering mode.\n */\n if (step === 1 || !showInBetweenSteps) {\n return [createStop(minValue), createStop(lastStopValue)];\n }\n\n const stops: Stop[] = [];\n\n let value = minValue;\n\n while (value <= lastStopValue) {\n stops.push(createStop(value));\n\n const nextValue = snapValueToStep({\n value: value + step,\n minValue,\n maxValue,\n step,\n });\n\n /**\n * Prevent infinite loops caused by\n * floating precision edge cases.\n */\n if (nextValue === value) {\n break;\n }\n\n value = nextValue;\n\n /**\n * DOM safety guard.\n */\n if (stops.length > maxStops) {\n return [createStop(minValue), createStop(lastStopValue)];\n }\n }\n\n return stops;\n};\n\nconst checkInActiveRangeStandardSlider = ({\n thumbValue,\n stopValue,\n}: {\n thumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue < thumbValue;\n};\n\nconst checkInActiveRangeRangeSlider = ({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue > firstThumbValue && stopValue < secondThumbValue;\n};\n\nconst checkInActiveRangeCenteredSlider = ({\n thumbValue,\n stopValue,\n midValue,\n}: {\n thumbValue: number;\n stopValue: number;\n midValue: number;\n}): boolean => {\n return (\n (stopValue < midValue && stopValue > thumbValue) ||\n (stopValue > midValue && stopValue < thumbValue) ||\n stopValue === midValue\n );\n};\n\n/**\n * Determines whether a given tick stop falls within the active (highlighted) track range\n * for the specified slider variant.\n *\n * - Standard slider: stops strictly below the thumb.\n * - Range slider: stops strictly between the start and end thumbs.\n * - Centered slider: stops between the mid-value and the thumb position.\n *\n * @param options - Configuration containing the slider variant, thumb values, mid-value, and stopValue.\n * @returns `true` if the stop is within the active highlighted track segment.\n */\nexport const checkInActiveRange = ({\n slider,\n midValue,\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n slider: SliderVariant;\n midValue: number;\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n switch (slider) {\n case \"standard\":\n return checkInActiveRangeStandardSlider({\n thumbValue: firstThumbValue,\n stopValue,\n });\n\n case \"range\":\n return checkInActiveRangeRangeSlider({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n case \"centered\":\n return checkInActiveRangeCenteredSlider({\n thumbValue: firstThumbValue,\n midValue,\n stopValue,\n });\n }\n};\n\n/**\n * Checks whether a given stop coincides directly with any active thumb position.\n *\n * @param options - First and second thumb values, plus the candidate stopValue.\n * @returns `true` if the stop is located directly underneath a thumb.\n */\nexport const checkIsBelowThumb = ({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n}: {\n firstThumbValue: number;\n secondThumbValue: number;\n stopValue: number;\n}): boolean => {\n return stopValue === firstThumbValue || stopValue === secondThumbValue;\n};\n\n/**\n * Checks whether a stop indicator should be visually hidden.\n *\n * For centered sliders, the center anchor point is hidden to avoid overlapping track visuals.\n *\n * @param options - Slider variant, midValue, and stopValue.\n * @returns `true` if the stop indicator should be hidden.\n */\nexport const shouldHide = ({\n slider,\n midValue,\n stopValue,\n}: {\n slider: SliderVariant;\n midValue: number;\n stopValue: number;\n}): boolean => {\n if (slider !== \"centered\") {\n return false;\n }\n\n return stopValue === midValue;\n};\n","@layer adgytec.comps {\n .stops {\n position: absolute;\n inset: 0;\n pointer-events: none;\n }\n\n .stop {\n position: absolute;\n\n &[data-orientation=\"horizontal\"] {\n inset-block-start: 50%;\n translate: -50% -50%;\n }\n\n &[data-orientation=\"vertical\"] {\n inset-inline-start: 50%;\n translate: -50% 50%;\n }\n\n inline-size: var(--md-sys-layout-space-4);\n aspect-ratio: 1 / 1;\n\n border-radius: var(--md-sys-shape-corner-radius-full);\n background-color: var(--_md-slider-inactive-stop-color);\n\n transition: background-color var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-in-active] {\n background-color: var(--_md-slider-active-stop-color);\n }\n\n &[data-hide] {\n background-color: transparent;\n }\n\n &[data-disabled] {\n background-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-in-active] {\n background-color: rgb(\n from var(--md-sys-color-inverse-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n\n &[data-hide] {\n background-color: transparent;\n }\n }\n\n &[data-below-thumb] {\n background-color: transparent;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { useContext, useMemo } from \"react\";\nimport { SliderStateContext } from \"react-aria-components\";\nimport {\n calcStops,\n checkInActiveRange,\n checkIsBelowThumb,\n shouldHide,\n} from \"./core\";\nimport styles from \"./sliderStops.module.css\";\nimport type { SliderStopsProps } from \"./types\";\n\n/**\n * Component that renders step tick mark indicators along a slider track.\n *\n * Positions tick indicators using percentage offsets computed from `minValue`, `maxValue`,\n * and `step`. Distinguishes between active and inactive track sections and hides stops\n * directly beneath active thumbs.\n *\n * @example\n * ```tsx\n * <SliderStops\n * minValue={0}\n * maxValue={100}\n * step={10}\n * orientation=\"horizontal\"\n * showInBetweenSteps\n * />\n * ```\n */\nexport const SliderStops: React.FC<SliderStopsProps> = ({\n orientation,\n slider = \"standard\",\n minValue,\n maxValue,\n step,\n showInBetweenSteps,\n maxStops,\n}) => {\n const stops = useMemo(() => {\n const stops = calcStops({\n minValue,\n maxValue,\n step,\n showInBetweenSteps,\n maxStops,\n });\n if (orientation === \"vertical\") {\n stops.reverse();\n }\n\n return stops;\n }, [minValue, maxValue, step, showInBetweenSteps, orientation, maxStops]);\n\n const sliderState = useContext(SliderStateContext);\n if (!sliderState) return null;\n\n const midValue = (minValue + maxValue) / 2;\n const firstThumbValue = sliderState.getThumbValue(0);\n const secondThumbValue = sliderState.getThumbValue(1) ?? NaN;\n\n const shouldHideActive = stops.length === 2;\n\n return (\n <div\n className={clsx(styles[\"stops\"])}\n data-orientation={orientation}\n data-slider-stops\n >\n {stops.map(({ stopValue, percent }) => {\n const inActiveRange = checkInActiveRange({\n slider,\n midValue,\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n const belowThumb = checkIsBelowThumb({\n firstThumbValue,\n secondThumbValue,\n stopValue,\n });\n\n const hide = shouldHide({ slider, midValue, stopValue });\n\n const style =\n orientation === \"horizontal\"\n ? { insetInlineStart: `${percent * 100}%` }\n : { insetBlockEnd: `${percent * 100}%` };\n\n return (\n <div\n key={stopValue}\n style={style}\n data-orientation={orientation}\n className={clsx(styles[\"stop\"])}\n data-disabled={sliderState.isDisabled || undefined}\n data-below-thumb={belowThumb || undefined}\n data-stop-value={stopValue}\n data-in-active={inActiveRange || undefined}\n data-hide={\n hide ||\n (shouldHideActive && inActiveRange) ||\n undefined\n }\n data-slider-stop\n />\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAGA,IAAMI,IAAoB,IA0BbC,KAAoB,MAAyB;CACtD,IAAIC,IAAY,GAEVC,IAAaC,EAAK,SAAS,GAE3BC,IAAmBF,EAAW,YAAY,CAAC,CAAC,QAAQ,IAAI;CAE9D,IAAIE,IAAmB,GACnB,IACI,KAAK,IAAI,KAAK,MAAM,KAAK,MAAM,KAAK,IAAID,CAAI,CAAC,CAAC,CAAC,IAAIC;MACpD;EACH,IAAMC,IAAaH,EAAW,QAAQ,GAAG;EAEzC,AAAIG,KAAc,MACd,IAAYH,EAAW,SAASG;CAExC;CAEA,OAAOJ;AACX,GAUaK,KAAwB,GAAe,MAAyB;CACzE,IAAML,IAAYD,EAAiBG,CAAI;CAEvC,IAAIF,KAAa,GACb,OAAOM;CAGX,IAAMC,IAAM,MAAMP;CAElB,OAAO,KAAK,MAAMM,IAAQC,CAAG,IAAIA;AACrC,GAQaC,KAAmB,EAC5B,UACA,aACA,aACA,cAMU;CACV,IAAMC,KAAaH,IAAQI,KAAYR,GAEnCS,IAAeN,EACf,KAAK,IAAII,CAAS,IAAI,KAAKP,IACrBI,IAAQ,KAAK,KAAKG,CAAS,KAAKP,IAAO,KAAK,IAAIO,CAAS,KACzDH,IAAQG,GACdP,CACJ;CAeA,OAbIS,IAAeD,IACf,IAAeA,IACRC,IAAeC,MACtB,IACIF,IACA,KAAK,MACDL,GAAsBO,IAAWF,KAAYR,GAAMA,CAAI,CAC3D,IACIA,IAGZ,IAAeG,EAAqBM,GAAcT,CAAI,GAE/CS;AACX,GAYaE,KAA6B,EACtC,aACA,aACA,SACA,wBAAqB,IACrB,cAAWf,QACT;CAIF,IAAII,KAAQ,KAAK,OAAO,MAAMA,CAAI,KAAKU,IAAWF,GAC9C,OAAO,CAAA;CAGX,IAAMI,IAAQF,IAAWF,GAanBK,IAAgBP,EAAgB;EAClC,OAAOI;EACP;EACA;EACA;CACJ,CAAC,GAEKI,KAAc,OAA6B;EAC7C;EACA,SAASF,MAAU,IAAI,KAAKG,IAAYP,KAAYI;CACxD;CAKA,IAAIZ,MAAS,KAAK,CAACgB,GACf,OAAO,CAACF,EAAWN,CAAQ,GAAGM,EAAWD,CAAa,CAAC;CAG3D,IAAMI,IAAgB,CAAA,GAElBb,IAAQI;CAEZ,OAAOJ,KAASS,IAAe;EAC3B,EAAM,KAAKC,EAAWV,CAAK,CAAC;EAE5B,IAAMc,IAAYZ,EAAgB;GAC9B,OAAOF,IAAQJ;GACf;GACA;GACA;EACJ,CAAC;EAMD,IAAIkB,MAAcd,GACd;EAQJ,IALA,IAAQc,GAKJD,EAAM,SAASE,GACf,OAAO,CAACL,EAAWN,CAAQ,GAAGM,EAAWD,CAAa,CAAC;CAE/D;CAEA,OAAOI;AACX,GAEMG,KAAoC,EACtC,eACA,mBAKOL,IAAYM,GAGjBC,KAAiC,EACnC,oBACA,qBACA,mBAMOP,IAAYQ,KAAmBR,IAAYS,GAGhDC,KAAoC,EACtC,eACA,cACA,kBAOKV,IAAYW,KAAYX,IAAYM,KACpCN,IAAYW,KAAYX,IAAYM,KACrCN,MAAcW,GAeTC,KAAsB,EAC/B,WACA,aACA,oBACA,qBACA,mBAOW;CACX,QAAQC,GAAR;EACI,KAAK,YACD,OAAOR,EAAiC;GACpC,YAAYG;GACZ;EACJ,CAAC;EAEL,KAAK,SACD,OAAOD,EAA8B;GACjC;GACA;GACA;EACJ,CAAC;EAEL,KAAK,YACD,OAAOG,EAAiC;GACpC,YAAYF;GACZ;GACA;EACJ,CAAC;CACT;AACJ,GAQaM,KAAqB,EAC9B,oBACA,qBACA,mBAMOd,MAAcQ,KAAmBR,MAAcS,GAW7CM,KAAc,EACvB,WACA,aACA,mBAMIF,MAAW,cAIRb,MAAcW,G;;;A,GEzSZM,KAA2C,EACpD,gBACA,YAAS,YACT,aACA,aACA,SACA,uBACA,kBACE;CACF,IAAMxC,IAAQ0C,QAAc;EACxB,IAAMjB,IAAQN,EAAU;GACpB;GACA;GACA;GACA;GACA;EACJ,CAAC;EAKD,OAJIwB,MAAgB,cAChBlB,EAAM,QAAQ,GAGXA;CACX,GAAG;EAACT;EAAUE;EAAUV;EAAMgB;EAAoBmB;EAAahB;CAAQ,CAAC,GAElEiB,IAAcC,EAAWC,CAAkB;CACjD,IAAI,CAACF,GAAa,OAAO;CAEzB,IAAMV,KAAYlB,IAAWE,KAAY,GACnCa,IAAkBa,EAAY,cAAc,CAAC,GAC7CZ,IAAmBY,EAAY,cAAc,CAAC,KAAK,KAEnDG,IAAmB/C,EAAM,WAAW;CAE1C,OACI,kBAAC,OAAD;EACI,WAAWC,EAAKC,EAAO8C,KAAQ;EAC/B,oBAAkBL;EAClB,qBAAA;EAEC3C,UAAAA,EAAM,KAAK,EAAE,cAAW,iBAAc;GACnC,IAAMiD,IAAgBd,EAAmB;IACrC;IACA;IACA;IACA;IACA;GACJ,CAAC,GAEKe,IAAab,EAAkB;IACjC;IACA;IACA;GACJ,CAAC,GAEKc,IAAOb,EAAW;IAAE;IAAQ;IAAU;GAAU,CAAC,GAEjDc,IACFT,MAAgB,eACV,EAAE,kBAAkB,GAAGU,IAAU,IAAG,GAAI,IACxC,EAAE,eAAe,GAAGA,IAAU,IAAG,GAAI;GAE/C,OACI,kBAAC,OAAD;IAEW;IACP,oBAAkBV;IAClB,WAAW1C,EAAKC,EAAOoD,IAAO;IAC9B,iBAAeV,EAAY,cAAc,KAAA;IACzC,oBAAkBM,KAAc,KAAA;IAChC,mBAAiB3B;IACjB,kBAAgB0B,KAAiB,KAAA;IACjC,aACIE,KACCJ,KAAoBE,KACrB,KAAA;IAEJ,oBAAA;GAAgB,GAbX1B,CAaW;EAG5B,CAAC;CACA,CAAA;AAEb"}
|
package/dist/chunks/SliderThumb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderThumb","names":[],"sources":["../../src/components/Input/Slider/SliderThumb/sliderThumb.module.css","../../src/components/Input/Slider/SliderThumb/SliderThumb.tsx"],"sourcesContent":["@layer adgytec.comps {\n .thumb {\n /* thumb */\n --_md-slider-thumb-thickness: var(--md-sys-layout-space-4);\n }\n\n .extra-small {\n /* thumb */\n --_md-slider-thumb-size: calc(44 * var(--dp, 1px));\n }\n\n .small {\n /* thumb */\n --_md-slider-thumb-size: calc(44 * var(--dp, 1px));\n }\n\n .medium {\n /* thumb */\n --_md-slider-thumb-size: calc(52 * var(--dp, 1px));\n }\n\n .large {\n /* thumb */\n --_md-slider-thumb-size: calc(68 * var(--dp, 1px));\n }\n\n .extra-large {\n /* thumb */\n --_md-slider-thumb-size: calc(108 * var(--dp, 1px));\n }\n\n .thumb {\n --_thumb-block-size: var(--_md-slider-thumb-size);\n --_thumb-inline-size: var(--_md-slider-thumb-thickness);\n\n position: absolute;\n transform-origin: center;\n\n &[data-orientation=\"horizontal\"] {\n inset-block-start: 50%;\n }\n\n &[data-orientation=\"vertical\"] {\n --_thumb-block-size: var(--_md-slider-thumb-thickness);\n --_thumb-inline-size: var(--_md-slider-thumb-size);\n\n inset-inline-start: 50%;\n }\n\n inline-size: var(--_thumb-inline-size);\n block-size: var(--_thumb-block-size);\n\n outline: none;\n border-radius: var(--md-sys-shape-corner-radius-full);\n\n background-color: var(--_md-slider-thumb-color);\n\n transition:\n block-size var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n inline-size var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-z-index-increase] {\n z-index: 1;\n }\n\n &[data-focus-visible]::before {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(6 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n z-index: 2;\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n\n &[data-dragging],\n &[data-focus-visible] {\n --_md-slider-thumb-thickness: calc(2 * var(--dp, 1px));\n }\n\n &[data-disabled] {\n background-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n}\n","import clsx from \"clsx\";\nimport type { Orientation } from \"react-aria\";\nimport { SliderThumb as AriaSliderThumb } from \"react-aria-components\";\nimport type { OutputRenderer, SliderSize } from \"../core\";\nimport { SliderOutput } from \"../SliderOutput\";\nimport { SliderThumbStateContext } from \"./context\";\nimport styles from \"./sliderThumb.module.css\";\n\
|
|
1
|
+
{"version":3,"file":"SliderThumb","names":["SliderThumb","AriaSliderThumb","clsx","styles","SliderOutput","SliderThumbStateContext","clsx$1","sliderThumb_module_default","SliderThumb$1","props","SliderThumb","\"thumb\"","size","className","renderProps","orientation","renderProp","outputRenderer","index","SliderOutput$1","state"],"sources":["../../src/components/Input/Slider/SliderThumb/sliderThumb.module.css","../../src/components/Input/Slider/SliderThumb/SliderThumb.tsx"],"sourcesContent":["@layer adgytec.comps {\n .thumb {\n /* thumb */\n --_md-slider-thumb-thickness: var(--md-sys-layout-space-4);\n }\n\n .extra-small {\n /* thumb */\n --_md-slider-thumb-size: calc(44 * var(--dp, 1px));\n }\n\n .small {\n /* thumb */\n --_md-slider-thumb-size: calc(44 * var(--dp, 1px));\n }\n\n .medium {\n /* thumb */\n --_md-slider-thumb-size: calc(52 * var(--dp, 1px));\n }\n\n .large {\n /* thumb */\n --_md-slider-thumb-size: calc(68 * var(--dp, 1px));\n }\n\n .extra-large {\n /* thumb */\n --_md-slider-thumb-size: calc(108 * var(--dp, 1px));\n }\n\n .thumb {\n --_thumb-block-size: var(--_md-slider-thumb-size);\n --_thumb-inline-size: var(--_md-slider-thumb-thickness);\n\n position: absolute;\n transform-origin: center;\n\n &[data-orientation=\"horizontal\"] {\n inset-block-start: 50%;\n }\n\n &[data-orientation=\"vertical\"] {\n --_thumb-block-size: var(--_md-slider-thumb-thickness);\n --_thumb-inline-size: var(--_md-slider-thumb-size);\n\n inset-inline-start: 50%;\n }\n\n inline-size: var(--_thumb-inline-size);\n block-size: var(--_thumb-block-size);\n\n outline: none;\n border-radius: var(--md-sys-shape-corner-radius-full);\n\n background-color: var(--_md-slider-thumb-color);\n\n transition:\n block-size var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n inline-size var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-z-index-increase] {\n z-index: 1;\n }\n\n &[data-focus-visible]::before {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(6 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n z-index: 2;\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n\n &[data-dragging],\n &[data-focus-visible] {\n --_md-slider-thumb-thickness: calc(2 * var(--dp, 1px));\n }\n\n &[data-disabled] {\n background-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n }\n }\n}\n","import clsx from \"clsx\";\nimport type { Orientation } from \"react-aria\";\nimport { SliderThumb as AriaSliderThumb } from \"react-aria-components\";\nimport type { OutputRenderer, SliderSize } from \"../core\";\nimport { SliderOutput } from \"../SliderOutput\";\nimport { SliderThumbStateContext } from \"./context\";\nimport styles from \"./sliderThumb.module.css\";\n\n/**\n * Props for the [`SliderThumb`](src/components/Input/Slider/SliderThumb/SliderThumb.tsx) component.\n */\nexport interface SliderThumbProps\n extends Omit<\n React.ComponentPropsWithRef<typeof AriaSliderThumb>,\n \"children\"\n > {\n /**\n * Layout orientation of the slider track.\n */\n orientation: Orientation;\n /**\n * Size variant determining the dimensions of the thumb handle.\n */\n size: SliderSize;\n /**\n * Custom renderer or static node for the thumb value tooltip output.\n */\n outputRenderer?: OutputRenderer;\n}\n\n/**\n * Draggable handle component within a slider track.\n *\n * Wraps React Aria's `SliderThumb`, managing state transitions (drag, hover, focus)\n * and hosting the [`SliderOutput`](src/components/Input/Slider/SliderOutput/SliderOutput.tsx)\n * value bubble.\n *\n * @example\n * ```tsx\n * <SliderThumb\n * index={0}\n * size=\"medium\"\n * orientation=\"horizontal\"\n * aria-label=\"Volume level\"\n * />\n * ```\n */\nexport const SliderThumb: React.FC<SliderThumbProps> = ({\n index = 0,\n orientation,\n className,\n size,\n outputRenderer,\n ...props\n}) => {\n return (\n <AriaSliderThumb\n index={index}\n className={(renderProps) =>\n clsx(\n styles[\"thumb\"],\n styles[size],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n data-orientation={orientation}\n {...props}\n data-slider-thumb\n >\n {(renderProp) => (\n <SliderThumbStateContext value={renderProp}>\n {outputRenderer ? (\n typeof outputRenderer === \"function\" ? (\n outputRenderer({\n ...renderProp,\n thumbIndex: index,\n })\n ) : (\n outputRenderer\n )\n ) : (\n <SliderOutput>\n {({ state }) => state.getThumbValueLabel(index)}\n </SliderOutput>\n )}\n </SliderThumbStateContext>\n )}\n </AriaSliderThumb>\n );\n};\n"],"mappings":";;;;;;;;;;;A,GC+CaA,KAA2C,EACpD,WAAQ,GACR,gBACA,cACA,SACA,mBACA,GAAGS,QAGC,kBAACR,GAAD;CACW;CACP,YAAY,MACRC,EACIC,EAAOQ,OACPR,EAAOS,IACP,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;CAEJ,oBAAkBE;CAClB,GAAIN;CACJ,qBAAA;CAEE,WAAA,MACE,kBAACJ,GAAD;EAAyB,OAAOW;EAC3B,UAAAC,IACG,OAAOA,KAAmB,aACtBA,EAAe;GACX,GAAGD;GACH,YAAYE;EAChB,CAAC,IAEDD,IAGJ,kBAACb,GAAD,EAAA,WACM,EAAE,eAAYgB,EAAM,mBAAmBF,CAAK,EACpC,CAAA;CAEG,CAAA;AAEhB,CAAA"}
|
package/dist/chunks/Snackbar
CHANGED
|
@@ -5,7 +5,7 @@ import { createContext as r, useContext as i, useMemo as a } from "react";
|
|
|
5
5
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
6
|
import { Text as c, UNSTABLE_Toast as l, UNSTABLE_ToastContent as u, UNSTABLE_ToastQueue as d, UNSTABLE_ToastRegion as f } from "react-aria-components";
|
|
7
7
|
import { X as p } from "lucide-react";
|
|
8
|
-
import '../assets/Snackbar.css'
|
|
8
|
+
import '../assets/Snackbar.css';// src/components/Snackbar/context.ts
|
|
9
9
|
var m = r(null);
|
|
10
10
|
function h() {
|
|
11
11
|
let e = i(m);
|
|
@@ -46,7 +46,6 @@ var g = {
|
|
|
46
46
|
})]
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
|
-
//#endregion
|
|
50
49
|
export { m as n, h as r, _ as t };
|
|
51
50
|
|
|
52
51
|
//# sourceMappingURL=Snackbar.map
|
package/dist/chunks/Snackbar.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snackbar","names":[],"sources":["../../src/components/Snackbar/context.ts","../../src/components/Snackbar/snackbar.module.css","../../src/components/Snackbar/SnackbarRegion.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { UNSTABLE_ToastQueue as ToastQueue } from \"react-aria-components\";\nimport type { SnackbarContent } from \"./types\";\n\nexport const SnackbarQueueContext =\n createContext<ToastQueue<SnackbarContent> | null>(null);\n\nexport function useSnackbarQueue() {\n const queue = useContext(SnackbarQueueContext);\n\n if (!queue) {\n throw new Error(\"useSnackbarQueue must be used inside SnackbarRegion\");\n }\n\n return queue;\n}\n","/* configurable tokens\n*\n* --md-snackbar-background\n* --md-snackbar-color\n* --md-snackbar-action-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .snackbar-region {\n position: fixed;\n\n display: flex;\n flex-direction: column-reverse;\n gap: calc(2 * var(--dp, 1px));\n\n inset-block-end: var(--md-sys-layout-space-24);\n\n inset-inline-start: 50%;\n translate: -50%;\n\n z-index: 999999;\n }\n\n .snackbar {\n --_md-snackbar-background: var(\n --md-snackbar-background,\n var(--md-sys-color-inverse-surface)\n );\n --_md-snackbar-color: var(\n --md-snackbar-color,\n var(--md-sys-color-inverse-on-surface)\n );\n --_md-snackbar-action-color: var(\n --md-snackbar-action-color,\n var(--md-sys-color-inverse-primary)\n );\n\n inline-size: min(90svi, calc(568 * var(--dp, 1px)));\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-4);\n\n padding-block: var(--md-sys-layout-space-4);\n padding-inline: var(--md-sys-layout-space-16);\n\n box-shadow: var(--md-sys-elevation-shadow-3);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n background-color: var(--_md-snackbar-background);\n color: var(--_md-snackbar-color);\n\n &[data-close] {\n padding-inline-end: var(--md-sys-layout-space-4);\n }\n\n &[data-action] {\n padding-inline-end: var(--md-sys-layout-space-8);\n }\n\n [data-close-button] {\n --md-button-color: var(--_md-snackbar-color);\n }\n }\n\n .snackbar-content {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-8);\n\n [data-button] {\n --md-button-color: var(--_md-snackbar-action-color);\n }\n }\n\n .text {\n padding-block: calc(10 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { X } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport {\n Text,\n UNSTABLE_Toast as Toast,\n UNSTABLE_ToastContent as ToastContent,\n UNSTABLE_ToastQueue as ToastQueue,\n UNSTABLE_ToastRegion as ToastRegion,\n} from \"react-aria-components\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { SnackbarQueueContext } from \"./context\";\nimport styles from \"./snackbar.module.css\";\nimport type { SnackbarContent, SnackbarRegionProps } from \"./types\";\n\nexport const SnackbarRegion: React.FC<SnackbarRegionProps> = ({\n children,\n maxVisibleSnackbars = 1,\n}) => {\n const queue = useMemo(() => {\n return new ToastQueue<SnackbarContent>({\n maxVisibleToasts: maxVisibleSnackbars,\n });\n }, [maxVisibleSnackbars]);\n\n return (\n <SnackbarQueueContext value={queue}>\n {children}\n <ToastRegion\n queue={queue}\n className={clsx(styles[\"snackbar-region\"])}\n >\n {({ toast }) => (\n <Toast\n toast={toast}\n className={clsx(styles[\"snackbar\"])}\n data-close={!toast.content.hideCloseAction || undefined}\n data-action={\n (toast.content.hideCloseAction &&\n !!toast.content.action) ||\n undefined\n }\n >\n <ToastContent className={styles[\"snackbar-content\"]}>\n <Text\n slot=\"description\"\n className={clsx(\n styles[\"text\"],\n typography.bodyMedium\n )}\n >\n {toast.content.supportingText}\n </Text>\n\n {toast.content.action}\n </ToastContent>\n\n {!toast.content.hideCloseAction && (\n <IconButton\n slot=\"close\"\n icon={X}\n color=\"standard\"\n data-close-button\n />\n )}\n </Toast>\n )}\n </ToastRegion>\n </SnackbarQueueContext>\n );\n};\n"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"Snackbar","names":["ToastQueue","ToastRegion","styles","Toast","ToastContent","typography","SnackbarQueueContext","createContext","useSnackbarQueue","queue","useContext","snackbar_module_default","SnackbarRegion","useMemo","UNSTABLE_ToastQueue","maxVisibleSnackbars","children","UNSTABLE_ToastRegion","clsx","UNSTABLE_Toast","\"snackbar\"","toast","UNSTABLE_ToastContent","Text","\"text\"","IconButton","X"],"sources":["../../src/components/Snackbar/context.ts","../../src/components/Snackbar/snackbar.module.css","../../src/components/Snackbar/SnackbarRegion.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { UNSTABLE_ToastQueue as ToastQueue } from \"react-aria-components\";\nimport type { SnackbarContent } from \"./types\";\n\n/**\n * React context holding the active `ToastQueue` instance for snackbars,\n * or `null` if accessed outside a {@link SnackbarRegion}.\n */\nexport const SnackbarQueueContext =\n createContext<ToastQueue<SnackbarContent> | null>(null);\n\n/**\n * Hook to access the active snackbar queue from any child component within a {@link SnackbarRegion}.\n *\n * Returns the underlying React Aria `ToastQueue` instance, allowing components\n * to enqueue new snackbars, dismiss existing ones, or inspect the queue.\n *\n * @throws {Error} If called outside of a {@link SnackbarRegion}.\n *\n * @example\n * ```tsx\n * import { Button, useSnackbarQueue } from \"@adgytec/web-ui-components\";\n *\n * export function CopyButton({ text }: { text: string }) {\n * const snackbarQueue = useSnackbarQueue();\n *\n * const handleCopy = async () => {\n * await navigator.clipboard.writeText(text);\n * snackbarQueue.add(\n * {\n * supportingText: \"Copied to clipboard\",\n * action: (\n * <Button color=\"text\" onPress={() => console.log(\"Undo\")}>\n * Undo\n * </Button>\n * ),\n * },\n * { timeout: 4000 }\n * );\n * };\n *\n * return <Button onPress={handleCopy}>Copy</Button>;\n * }\n * ```\n */\nexport function useSnackbarQueue() {\n const queue = useContext(SnackbarQueueContext);\n\n if (!queue) {\n throw new Error(\"useSnackbarQueue must be used inside SnackbarRegion\");\n }\n\n return queue;\n}\n","/* configurable tokens\n*\n* --md-snackbar-background\n* --md-snackbar-color\n* --md-snackbar-action-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .snackbar-region {\n position: fixed;\n\n display: flex;\n flex-direction: column-reverse;\n gap: calc(2 * var(--dp, 1px));\n\n inset-block-end: var(--md-sys-layout-space-24);\n\n inset-inline-start: 50%;\n translate: -50%;\n\n z-index: 999999;\n }\n\n .snackbar {\n --_md-snackbar-background: var(\n --md-snackbar-background,\n var(--md-sys-color-inverse-surface)\n );\n --_md-snackbar-color: var(\n --md-snackbar-color,\n var(--md-sys-color-inverse-on-surface)\n );\n --_md-snackbar-action-color: var(\n --md-snackbar-action-color,\n var(--md-sys-color-inverse-primary)\n );\n\n inline-size: min(90svi, calc(568 * var(--dp, 1px)));\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-4);\n\n padding-block: var(--md-sys-layout-space-4);\n padding-inline: var(--md-sys-layout-space-16);\n\n box-shadow: var(--md-sys-elevation-shadow-3);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n background-color: var(--_md-snackbar-background);\n color: var(--_md-snackbar-color);\n\n &[data-close] {\n padding-inline-end: var(--md-sys-layout-space-4);\n }\n\n &[data-action] {\n padding-inline-end: var(--md-sys-layout-space-8);\n }\n\n [data-close-button] {\n --md-button-color: var(--_md-snackbar-color);\n }\n }\n\n .snackbar-content {\n inline-size: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-8);\n\n [data-button] {\n --md-button-color: var(--_md-snackbar-action-color);\n }\n }\n\n .text {\n padding-block: calc(10 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { X } from \"lucide-react\";\nimport { useMemo } from \"react\";\nimport {\n Text,\n UNSTABLE_Toast as Toast,\n UNSTABLE_ToastContent as ToastContent,\n UNSTABLE_ToastQueue as ToastQueue,\n UNSTABLE_ToastRegion as ToastRegion,\n} from \"react-aria-components\";\nimport { typography } from \"@/utils\";\nimport { IconButton } from \"../Button\";\nimport { SnackbarQueueContext } from \"./context\";\nimport styles from \"./snackbar.module.css\";\nimport type { SnackbarContent, SnackbarRegionProps } from \"./types\";\n\n/**\n * Root region component for managing and rendering [Material 3 Snackbars](https://m3.material.io/components/snackbar/overview).\n *\n * Wraps your application or a section of it to provide a snackbar context via {@link SnackbarQueueContext}.\n * Renders an underlying React Aria `ToastRegion` fixed at the bottom center of the viewport (elevated with\n * high z-index), displaying queued snackbar notifications with supporting text, optional actions,\n * and an optional dismiss button.\n *\n * Configurable CSS tokens:\n * - `--md-snackbar-background`: Background color of the snackbar (`var(--md-sys-color-inverse-surface)`).\n * - `--md-snackbar-color`: Text and icon color of the snackbar (`var(--md-sys-color-inverse-on-surface)`).\n * - `--md-snackbar-action-color`: Text color of the action button (`var(--md-sys-color-inverse-primary)`).\n *\n * @example\n * ```tsx\n * import {\n * Button,\n * SnackbarRegion,\n * useSnackbarQueue,\n * } from \"@adgytec/web-ui-components\";\n *\n * function NotificationTrigger() {\n * const queue = useSnackbarQueue();\n *\n * const showNotification = () => {\n * queue.add(\n * {\n * supportingText: \"File uploaded successfully.\",\n * action: (\n * <Button color=\"text\" onPress={() => console.log(\"View\")}>\n * View\n * </Button>\n * ),\n * },\n * { timeout: 5000 }\n * );\n * };\n *\n * return <Button onPress={showNotification}>Upload</Button>;\n * }\n *\n * export function App() {\n * return (\n * <SnackbarRegion maxVisibleSnackbars={1}>\n * <NotificationTrigger />\n * </SnackbarRegion>\n * );\n * }\n * ```\n */\nexport const SnackbarRegion: React.FC<SnackbarRegionProps> = ({\n children,\n maxVisibleSnackbars = 1,\n}) => {\n const queue = useMemo(() => {\n return new ToastQueue<SnackbarContent>({\n maxVisibleToasts: maxVisibleSnackbars,\n });\n }, [maxVisibleSnackbars]);\n\n return (\n <SnackbarQueueContext value={queue}>\n {children}\n <ToastRegion\n queue={queue}\n className={clsx(styles[\"snackbar-region\"])}\n >\n {({ toast }) => (\n <Toast\n toast={toast}\n className={clsx(styles[\"snackbar\"])}\n data-close={!toast.content.hideCloseAction || undefined}\n data-action={\n (toast.content.hideCloseAction &&\n !!toast.content.action) ||\n undefined\n }\n >\n <ToastContent className={styles[\"snackbar-content\"]}>\n <Text\n slot=\"description\"\n className={clsx(\n styles[\"text\"],\n typography.bodyMedium\n )}\n >\n {toast.content.supportingText}\n </Text>\n\n {toast.content.action}\n </ToastContent>\n\n {!toast.content.hideCloseAction && (\n <IconButton\n slot=\"close\"\n icon={X}\n color=\"standard\"\n data-close-button\n />\n )}\n </Toast>\n )}\n </ToastRegion>\n </SnackbarQueueContext>\n );\n};\n"],"mappings":";;;;;;;;AAQA,IAAaM,IACTC,EAAkD,IAAI;AAoC1D,SAAOC,IAAA;CACH,IAAAC,IAAcC,EAAWJ,CAAoB;CAE7C,IAAI,CAACG,GACD,MAAU,MAAM,qDAAqD;CACxE,OAEMA;AAAK;;;;;;A,GEcHG,KAAiD,EAC1D,aACA,yBAAsB,QACpB;CACF,IAAMH,IAAQI,QACH,IAAIb,EAA4B,EACnC,kBAAkBe,EACtB,CAAC,GACF,CAACA,CAAmB,CAAC;CAExB,OACI,kBAACT,GAAD;EAAsB,OAAOG;EAA7B,UAAA,CACKO,GACD,kBAACf,GAAD;GACW;GACP,WAAWiB,EAAKhB,EAAO,kBAAkB;GAEvC,WAAA,EAAE,eACA,kBAACC,GAAD;IACW;IACP,WAAWe,EAAKhB,EAAOkB,QAAW;IAClC,cAAY,CAACC,EAAM,QAAQ,mBAAmB,KAAA;IAC9C,eACKA,EAAM,QAAQ,mBACX,CAAC,CAACA,EAAM,QAAQ,UACpB,KAAA;IAPR,UAAA,CAUI,kBAACjB,GAAD;KAAc,WAAWF,EAAO;KAAhC,UAAA,CACI,kBAACqB,GAAD;MACI,MAAK;MACL,WAAWL,EACPhB,EAAOsB,MACPnB,EAAW,UACf;MAEC,UAAAgB,EAAM,QAAQ;KACb,CAAA,GAELA,EAAM,QAAQ,MACL;IAEb,CAAA,GAAA,CAACA,EAAM,QAAQ,mBACZ,kBAACI,GAAD;KACI,MAAK;KACL,MAAMC;KACN,OAAM;KACN,qBAAA;IAAiB,CAAA,CAGtB;;EAEF,CAAA,CACK;;AAE9B"}
|
package/dist/chunks/SplitButton
CHANGED
|
@@ -4,9 +4,9 @@ import { clsx as n } from "clsx";
|
|
|
4
4
|
import { useMemo as r } from "react";
|
|
5
5
|
import { jsx as i } from "react/jsx-runtime";
|
|
6
6
|
import { Toolbar as a } from "react-aria-components";
|
|
7
|
-
import '../assets/SplitButton.css'
|
|
8
|
-
var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled", size: c = "small", isPending: l, isDisabled: u, children: d, className: f, ...p }) =>
|
|
9
|
-
|
|
7
|
+
import '../assets/SplitButton.css';// src/components/Button/SplitButton/SplitButton/splitButton.module.css
|
|
8
|
+
var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled", size: c = "small", isPending: l, isDisabled: u, children: d, className: f, ...p }) => {
|
|
9
|
+
let m = r(() => ({
|
|
10
10
|
isPending: l,
|
|
11
11
|
isDisabled: u,
|
|
12
12
|
color: s,
|
|
@@ -16,15 +16,17 @@ var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled",
|
|
|
16
16
|
u,
|
|
17
17
|
s,
|
|
18
18
|
c
|
|
19
|
-
])
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
]);
|
|
20
|
+
return /* @__PURE__ */ i(t, {
|
|
21
|
+
value: m,
|
|
22
|
+
children: /* @__PURE__ */ i(a, {
|
|
23
|
+
className: n(o["split-button"], e(c), f),
|
|
24
|
+
...p,
|
|
25
|
+
"data-split-button": !0,
|
|
26
|
+
children: d
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
};
|
|
28
30
|
export { s as t };
|
|
29
31
|
|
|
30
32
|
//# sourceMappingURL=SplitButton.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButton","names":[],"sources":["../../src/components/Button/SplitButton/SplitButton/splitButton.module.css","../../src/components/Button/SplitButton/SplitButton/SplitButton.tsx"],"sourcesContent":["@layer adgytec.overrides {\n .split-button [data-visual-button] {\n --_md-button-shape-motion: var(--md-sys-motion-standard-fast-spatial);\n --_md-button-shape-motion-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n }\n}\n\n@layer adgytec.comps {\n .split-button {\n display: inline-flex;\n gap: calc(2 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { Toolbar } from \"react-aria-components\";\nimport { splitButtonSizeConfig } from \"../core\";\nimport { SplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButton.module.css\";\nimport type { SplitButtonProps } from \"./types\";\n\nexport const SplitButton: React.FC<SplitButtonProps> = ({\n color = \"filled\",\n size = \"small\",\n\n isPending,\n isDisabled,\n\n children,\n className,\n\n ...props\n}) => {\n const contextValue = useMemo(\n () => ({\n isPending,\n isDisabled,\n color,\n size,\n }),\n [isPending, isDisabled, color, size]\n );\n\n return (\n <SplitButtonContext value={contextValue}>\n <Toolbar\n className={clsx(\n styles[\"split-button\"],\n splitButtonSizeConfig(size),\n className\n )}\n {...props}\n data-split-button\n >\n {children}\n </Toolbar>\n </SplitButtonContext>\n );\n};\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"SplitButton","names":["styles","splitButtonSizeConfig","splitButton_module_default","SplitButton","props","contextValue","useMemo","isPending","isDisabled","color","size","SplitButtonContext","Toolbar","clsx","className"],"sources":["../../src/components/Button/SplitButton/SplitButton/splitButton.module.css","../../src/components/Button/SplitButton/SplitButton/SplitButton.tsx"],"sourcesContent":["@layer adgytec.overrides {\n .split-button [data-visual-button] {\n --_md-button-shape-motion: var(--md-sys-motion-standard-fast-spatial);\n --_md-button-shape-motion-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n }\n}\n\n@layer adgytec.comps {\n .split-button {\n display: inline-flex;\n gap: calc(2 * var(--dp, 1px));\n }\n}\n","import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { Toolbar } from \"react-aria-components\";\nimport { splitButtonSizeConfig } from \"../core\";\nimport { SplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButton.module.css\";\nimport type { SplitButtonProps } from \"./types\";\n\n/**\n * A composite button container implementing Material Design 3 Split Buttons.\n *\n * Couples a primary action button ({@link SplitButtonPrimary}) with an adjacent dropdown menu trigger\n * ({@link SplitButtonTrigger}) inside an accessible React Aria `Toolbar`.\n * Synchronizes size, color variant, disabled, and pending states across both button parts via context.\n *\n * @example\n * ```tsx\n * <SplitButton color=\"tonal\">\n * <SplitButtonPrimary icon={Save} onPress={handleSave}>\n * Save\n * </SplitButtonPrimary>\n * <MenuTrigger>\n * <SplitButtonTrigger aria-label=\"More save options\" />\n * <MenuPopover>\n * <Menu>\n * <MenuItem label=\"Save as draft\" />\n * </Menu>\n * </MenuPopover>\n * </MenuTrigger>\n * </SplitButton>\n * ```\n */\nexport const SplitButton: React.FC<SplitButtonProps> = ({\n color = \"filled\",\n size = \"small\",\n\n isPending,\n isDisabled,\n\n children,\n className,\n\n ...props\n}) => {\n const contextValue = useMemo(\n () => ({\n isPending,\n isDisabled,\n color,\n size,\n }),\n [isPending, isDisabled, color, size]\n );\n\n return (\n <SplitButtonContext value={contextValue}>\n <Toolbar\n className={clsx(\n styles[\"split-button\"],\n splitButtonSizeConfig(size),\n className\n )}\n {...props}\n data-split-button\n >\n {children}\n </Toolbar>\n </SplitButtonContext>\n );\n};\n"],"mappings":";;;;;;;A,qDCgCaG,KAA2C,EACpD,WAAQ,UACR,UAAO,SAEP,cACA,eAEA,aACA,cAEA,GAAGC,QACD;CACF,IAAMC,IAAeC,SACV;EACH;EACA;EACA;EACA;CACJ,IACA;EAACC;EAAWC;EAAYC;EAAOC;CAAI,CACvC;CAEA,OACI,kBAACC,GAAD;EAAoB,OAAON;EACvB,UAAA,kBAACO,GAAD;GACI,WAAWC,EACPb,EAAO,iBACPC,EAAsBS,CAAI,GAC1BI,CACJ;GACA,GAAIV;GACJ,qBAAA;GAEC;EACI,CAAA;CACO,CAAA;AAE5B"}
|
|
@@ -9,21 +9,22 @@ import { clsx as m } from "clsx";
|
|
|
9
9
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
10
10
|
import { Button as _ } from "react-aria-components";
|
|
11
11
|
import { ChevronDown as v } from "lucide-react";
|
|
12
|
-
import '../assets/SplitButtonTrigger.css'
|
|
12
|
+
import '../assets/SplitButtonTrigger.css';// src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css
|
|
13
13
|
var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
|
|
14
|
-
let x = (0, y.c)(
|
|
14
|
+
let x = (0, y.c)(24), S, C, w, T, E, D;
|
|
15
15
|
x[0] === e ? (S = x[1], C = x[2], w = x[3], T = x[4], E = x[5], D = x[6]) : ({tooltip: D, onPress: T, isDisabled: C, isPending: w, className: S, ...E} = e, x[0] = e, x[1] = S, x[2] = C, x[3] = w, x[4] = T, x[5] = E, x[6] = D);
|
|
16
16
|
let O = p(), { splashInfo: k, handlePress: A } = i(T), j = w || O.isPending, M = C || O.isDisabled, N;
|
|
17
17
|
x[7] !== S || x[8] !== O.color ? (N = (e) => m(o, t, d, l(O.color), typeof S == "function" ? S(e) : S), x[7] = S, x[8] = O.color, x[9] = N) : N = x[9];
|
|
18
18
|
let P;
|
|
19
|
-
x[10] !==
|
|
19
|
+
x[10] !== j || x[11] !== k || x[12] !== O.size ? (P = (e) => {
|
|
20
20
|
let { isDisabled: t, isFocusVisible: i, isFocused: o, isPressed: c, isHovered: l } = e, d = {
|
|
21
21
|
"data-hovered": l || void 0,
|
|
22
22
|
"data-disabled": t || void 0,
|
|
23
23
|
"data-focused": o || void 0,
|
|
24
24
|
"data-focus-visible": i || void 0,
|
|
25
25
|
"data-pressed": c || void 0,
|
|
26
|
-
"data-visual-button": !0
|
|
26
|
+
"data-visual-button": !0,
|
|
27
|
+
"data-pending": j || void 0
|
|
27
28
|
};
|
|
28
29
|
return /* @__PURE__ */ g("span", {
|
|
29
30
|
className: m(a, s, b.trigger, u),
|
|
@@ -33,9 +34,9 @@ var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
|
|
|
33
34
|
size: f[O.size]
|
|
34
35
|
})]
|
|
35
36
|
});
|
|
36
|
-
}, x[10] =
|
|
37
|
+
}, x[10] = j, x[11] = k, x[12] = O.size, x[13] = P) : P = x[13];
|
|
37
38
|
let F;
|
|
38
|
-
x[
|
|
39
|
+
x[14] !== M || x[15] !== A || x[16] !== j || x[17] !== E || x[18] !== N || x[19] !== P ? (F = /* @__PURE__ */ h(_, {
|
|
39
40
|
onPress: A,
|
|
40
41
|
isDisabled: M,
|
|
41
42
|
isPending: j,
|
|
@@ -44,11 +45,10 @@ var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
|
|
|
44
45
|
"data-button": !0,
|
|
45
46
|
"data-split-button-trigger": !0,
|
|
46
47
|
children: P
|
|
47
|
-
}), x[
|
|
48
|
+
}), x[14] = M, x[15] = A, x[16] = j, x[17] = E, x[18] = N, x[19] = P, x[20] = F) : F = x[20];
|
|
48
49
|
let I;
|
|
49
|
-
return x[
|
|
50
|
+
return x[21] !== F || x[22] !== D ? (I = c(F, D), x[21] = F, x[22] = D, x[23] = I) : I = x[23], I;
|
|
50
51
|
};
|
|
51
|
-
//#endregion
|
|
52
52
|
export { x as t };
|
|
53
53
|
|
|
54
54
|
//# sourceMappingURL=SplitButtonTrigger.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButtonTrigger","names":["ChevronDown","handlePress","disabled","pending"],"sources":["../../src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css","../../src/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.tsx"],"sourcesContent":["@layer adgytec.comps {\n .trigger {\n --rotate: 0;\n\n &[data-pressed] {\n --rotate: 180deg;\n }\n\n > svg {\n rotate: var(--rotate);\n transition: rotate var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n }\n}\n","import { clsx } from \"clsx\";\nimport { ChevronDown } from \"lucide-react\";\nimport { Button as AriaButton } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport {\n ButtonCore,\n ButtonReset,\n buttonColorBase,\n buttonColorConfig,\n withTooltip,\n} from \"../../core\";\nimport {\n SplitButtonTriggerBase,\n SplitButtonTriggerIconSize,\n SplitButtonVariantBase,\n} from \"../core\";\nimport { useSplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButtonTrigger.module.css\";\nimport type { SplitButtonTriggerProps } from \"./types\";\n\nexport const SplitButtonTrigger: React.FC<SplitButtonTriggerProps> = ({\n tooltip,\n onPress,\n isDisabled,\n isPending,\n className,\n ...props\n}) => {\n const splitButtonState = useSplitButtonContext();\n\n const { splashInfo, handlePress } = useSplash(onPress);\n\n const pending = isPending || splitButtonState.isPending;\n const disabled = isDisabled || splitButtonState.isDisabled;\n\n return withTooltip(\n <AriaButton\n onPress={handlePress}\n isDisabled={disabled}\n isPending={pending}\n className={(renderProps) =>\n clsx(\n ButtonReset,\n TapTarget,\n SplitButtonTriggerBase,\n buttonColorConfig(splitButtonState.color),\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-button\n data-split-button-trigger\n >\n {({\n isDisabled,\n isFocusVisible,\n isFocused,\n isPressed,\n isHovered,\n }) => {\n const dataAttrs = {\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-visual-button\": true,\n };\n\n return (\n <span\n className={clsx(\n ButtonCore,\n buttonColorBase,\n styles[\"trigger\"],\n SplitButtonVariantBase\n )}\n {...dataAttrs}\n >\n {splashInfo && <Splash {...splashInfo} />}\n <Icon\n icon={ChevronDown}\n size={\n SplitButtonTriggerIconSize[\n splitButtonState.size\n ]\n }\n />\n </span>\n );\n }}\n </AriaButton>,\n tooltip\n );\n};\n"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SplitButtonTrigger","names":["ChevronDown","handlePress","disabled","pending","_c","styles","AriaButton","require_compiler_runtime","Icon","Splash","useSplash","ButtonCore","ButtonReset","buttonColorBase","withTooltip","buttonColorConfig","SplitButtonVariantBase","SplitButtonTriggerBase","SplitButtonTriggerIconSize","import_compiler_runtime","splitButtonTrigger_module_default","SplitButtonTrigger","$","className","isDisabled","isPending","onPress","props","tooltip","t0","splitButtonState","useSplitButtonContext","pending","disabled","t1","clsx","TapTarget","renderProps","t2","splashInfo","isDisabled_0","t3","dataAttrs","isHovered","isFocused","isFocusVisible","isPressed","ChevronDown","handlePress","Button","t4"],"sources":["../../src/components/Button/SplitButton/SplitButtonTrigger/splitButtonTrigger.module.css","../../src/components/Button/SplitButton/SplitButtonTrigger/SplitButtonTrigger.tsx"],"sourcesContent":["@layer adgytec.comps {\n .trigger {\n --rotate: 0;\n\n &[data-pressed] {\n --rotate: 180deg;\n }\n\n > svg {\n rotate: var(--rotate);\n transition: rotate var(--md-sys-motion-standard-fast-spatial)\n var(--md-sys-motion-standard-fast-spatial-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n }\n}\n","import { clsx } from \"clsx\";\nimport { ChevronDown } from \"lucide-react\";\nimport { Button as AriaButton } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport {\n ButtonCore,\n ButtonReset,\n buttonColorBase,\n buttonColorConfig,\n withTooltip,\n} from \"../../core\";\nimport {\n SplitButtonTriggerBase,\n SplitButtonTriggerIconSize,\n SplitButtonVariantBase,\n} from \"../core\";\nimport { useSplitButtonContext } from \"../SplitButtonContext\";\nimport styles from \"./splitButtonTrigger.module.css\";\nimport type { SplitButtonTriggerProps } from \"./types\";\n\n/**\n * The dropdown menu trigger button within a {@link SplitButton}.\n *\n * Renders a chevron icon indicating that more actions are available in an adjacent menu.\n * Inherits visual styling (size and color) and states (disabled, pending) from the parent `SplitButtonContext`.\n * Typically wrapped inside a `MenuTrigger` component alongside a `MenuPopover`.\n *\n * @example\n * ```tsx\n * <MenuTrigger>\n * <SplitButtonTrigger aria-label=\"More options\" />\n * <MenuPopover>\n * <Menu>\n * <MenuItem label=\"Export\" />\n * </Menu>\n * </MenuPopover>\n * </MenuTrigger>\n * ```\n */\nexport const SplitButtonTrigger: React.FC<SplitButtonTriggerProps> = ({\n tooltip,\n onPress,\n isDisabled,\n isPending,\n className,\n ...props\n}) => {\n const splitButtonState = useSplitButtonContext();\n\n const { splashInfo, handlePress } = useSplash(onPress);\n\n const pending = isPending || splitButtonState.isPending;\n const disabled = isDisabled || splitButtonState.isDisabled;\n\n return withTooltip(\n <AriaButton\n onPress={handlePress}\n isDisabled={disabled}\n isPending={pending}\n className={(renderProps) =>\n clsx(\n ButtonReset,\n TapTarget,\n SplitButtonTriggerBase,\n buttonColorConfig(splitButtonState.color),\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-button\n data-split-button-trigger\n >\n {({\n isDisabled,\n isFocusVisible,\n isFocused,\n isPressed,\n isHovered,\n }) => {\n const dataAttrs = {\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-visual-button\": true,\n \"data-pending\": pending || undefined,\n };\n\n return (\n <span\n className={clsx(\n ButtonCore,\n buttonColorBase,\n styles[\"trigger\"],\n SplitButtonVariantBase\n )}\n {...dataAttrs}\n >\n {splashInfo && <Splash {...splashInfo} />}\n <Icon\n icon={ChevronDown}\n size={\n SplitButtonTriggerIconSize[\n splitButtonState.size\n ]\n }\n />\n </span>\n );\n }}\n </AriaButton>,\n tooltip\n );\n};\n"],"mappings":";;;;;;;;;;;;A,kDC0CaqB,KAAwD,MAAA;CAAA,IAAAC,KAAA,GAAAlB,EAAAA,EAAAA,CAAA,EAAA,GAAAmB,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,AAAAN,EAAA,OAAAO,KAOpE,IAAAP,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,OAPqE,oEAAA,GAAAK,KAAAE,GAOrE,EAAA,KAAAA,GAAA,EAAA,KAAAN,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC;CACG,IAAAE,IAAyBC,EAAsB,GAE/C,EAAA,eAAA,mBAAoCrB,EAAUgB,CAAO,GAErDM,IAAgBP,KAAaK,EAAgB,WAC7CG,IAAiBT,KAAcM,EAAgB,YAAYI;CAAA,AAAAZ,EAAA,OAAAC,KAAAD,EAAA,OAAAQ,EAAA,SAOxC,KAAA,MACPK,EACIvB,GACAwB,GACAnB,GACAF,EAAkBe,EAAgB,KAAM,GACxC,OAAOP,KAAc,aACfA,EAAUc,CACF,IAFdd,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAO,EAAA,OAAA,EAAA,KAAAI,KAAA,IAAAZ,EAAA;CAAA,IAAAgB;CAAA,AAAAhB,EAAA,QAAAU,KAAAV,EAAA,QAAAiB,KAAAjB,EAAA,QAAAQ,EAAA,QAMJ,KAAA,MAAA;EAAC,IAAA,EAAA,YAAAU,GAAA,mBAAA,cAAA,cAAA,iBAAAC,GAOEC,IAAkB;GAAA,gBACEC,KAAA,KAAA;GAAsB,iBACrBH,KAAA,KAAA;GAAuB,gBACxBI,KAAA,KAAA;GAAsB,sBAChBC,KAAA,KAAA;GAA2B,gBACjCC,KAAA,KAAA;GAAsB,sBAChB;GAAI,gBACVd,KAAA,KAAA;EACpB;EAAE,OAGE,kBAAA,QAAA;GACe,WAAAG,EACPxB,GACAE,GACAR,EAAM,SACNW,CACJ;GAAC,GACG0B;GAPR,UAAA,CASKH,KAAc,kBAAC9B,GAAD,EAAO,GAAK8B,EAAU,CAAA,GACrC,kBAAC/B,GAAD;IACUR,MAAA+C;IAEF,MAAA7B,EACIY,EAAgB;GACnB,CAAA,CAGN;;CAAA,GAEd,EAAA,MAAAE,GAAA,EAAA,MAAAO,GAAA,EAAA,MAAAT,EAAA,MAAA,EAAA,MAAAQ,KAAA,IAAAhB,EAAA;CAAA,IAAAmB;CAAA,AAAAnB,EAAA,QAAAW,KAAAX,EAAA,QAAA0B,KAAA1B,EAAA,QAAAU,KAAAV,EAAA,QAAAK,KAAAL,EAAA,QAAAY,KAAAZ,EAAA,QAAAgB,KAzDL,IAAA,kBAAChC,GAAD;EACaL,SAAA+C;EACG9C,YAAA+B;EACD9B,WAAA6B;EACA,WAAAE;EASN,GAEDP;EACJ,eAAA;EACA,6BAAA;EAEC,UAAAW;CAnBM,CAAA,GA0DE,EAAA,MAAAL,GAAA,EAAA,MAAAe,GAAA,EAAA,MAAAhB,GAAA,EAAA,MAAAL,GAAA,EAAA,MAAAO,GAAA,EAAA,MAAAI,GAAA,EAAA,MAAAG,KAAA,IAAAnB,EAAA;CAAA,IAAA4B;CAEhB,OAFgB5B,EAAA,QAAAmB,KAAAnB,EAAA,QAAAM,KA3DV,IAAAd,EACH2B,GA2DAb,CACJ,GAAC,EAAA,MAAAa,GAAA,EAAA,MAAAb,GAAA,EAAA,MAAAsB,KAAA,IAAA5B,EAAA,KA7DM4B;AA6DN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmenuPopover","names":[],"sources":["../../src/components/Menu/SubmenuPopover/submenuPopover.module.css","../../src/components/Menu/SubmenuPopover/SubmenuPopover.tsx"],"sourcesContent":["@layer adgytec.comps {\n .popover {\n display: grid;\n grid-template-rows: 1fr;\n }\n}\n","import clsx from \"clsx\";\nimport { Popover } from \"@/components/Popover\";\nimport styles from \"./submenuPopover.module.css\";\n\
|
|
1
|
+
{"version":3,"file":"SubmenuPopover","names":["clsx","styles","Popover","clsx$1","submenuPopover_module_default","SubmenuPopover","props","\"popover\"","className","renderProps"],"sources":["../../src/components/Menu/SubmenuPopover/submenuPopover.module.css","../../src/components/Menu/SubmenuPopover/SubmenuPopover.tsx"],"sourcesContent":["@layer adgytec.comps {\n .popover {\n display: grid;\n grid-template-rows: 1fr;\n }\n}\n","import clsx from \"clsx\";\nimport { Popover } from \"@/components/Popover\";\nimport styles from \"./submenuPopover.module.css\";\n\n/**\n * Props for the [`SubmenuPopover`](src/components/Menu/SubmenuPopover/SubmenuPopover.tsx) component.\n */\nexport interface SubmenuPopoverProps\n extends React.ComponentPropsWithRef<typeof Popover> {}\n\n/**\n * Specialized popover container for nested cascading submenus.\n *\n * Defaults to an `offset` of `-1` px so the submenu slightly overlaps the parent\n * menu edge according to Material Design 3 menu specifications.\n *\n * @example\n * ```tsx\n * <SubmenuPopover>\n * <Menu>\n * <MenuItem label=\"Sub-item 1\" />\n * <MenuItem label=\"Sub-item 2\" />\n * </Menu>\n * </SubmenuPopover>\n * ```\n */\nexport const SubmenuPopover: React.FC<SubmenuPopoverProps> = ({\n offset = -1,\n className,\n ...props\n}) => {\n return (\n <Popover\n offset={offset}\n className={(renderProps) =>\n clsx(\n styles[\"popover\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;A,yCC0BaK,KAAiD,EAC1D,YAAS,IACT,cACA,GAAGC,QAGC,kBAACJ,GAAD;CACY;CACR,YAAY,MACRF,EACIC,EAAOM,SACP,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;CAEJ,GAAIF;AAAM,CAAA"}
|
package/dist/chunks/Switch
CHANGED
|
@@ -3,55 +3,54 @@ import { t } from "./base";
|
|
|
3
3
|
import { t as n } from "./Icon";
|
|
4
4
|
import r from "clsx";
|
|
5
5
|
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
-
import {
|
|
7
|
-
import { Check as
|
|
8
|
-
import '../assets/Switch.css';var
|
|
9
|
-
switch: "
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
import { SwitchButton as s, SwitchField as c } from "react-aria-components";
|
|
7
|
+
import { Check as l, X as u } from "lucide-react";
|
|
8
|
+
import '../assets/Switch.css';var d = {
|
|
9
|
+
switch: "_switch_mjp18_22",
|
|
10
|
+
icon: "_icon_mjp18_155",
|
|
11
|
+
handle: "_handle_mjp18_159",
|
|
12
|
+
track: "_track_mjp18_279"
|
|
13
|
+
}, f = ({ children: f, icon: p = "selected", labelPlacement: m = "start", unselectedIcon: h = u, selectedIcon: g = l, ..._ }) => /* @__PURE__ */ a(c, {
|
|
14
|
+
..._,
|
|
15
|
+
children: (c) => {
|
|
16
|
+
let l = typeof f == "function" ? f(c) : f;
|
|
17
|
+
return /* @__PURE__ */ a(s, {
|
|
18
|
+
className: r(d.switch, t.labelLarge),
|
|
19
|
+
children: (t) => {
|
|
20
|
+
let { isSelected: s, isHovered: c, isDisabled: u, isFocused: f, isFocusVisible: _, isPressed: v, isReadOnly: y } = t, b;
|
|
21
|
+
p !== "none" && s && (b = g), p === "both" && !s && (b = h);
|
|
22
|
+
let x = {
|
|
23
|
+
"data-selected": s || void 0,
|
|
24
|
+
"data-hovered": c || void 0,
|
|
25
|
+
"data-disabled": u || void 0,
|
|
26
|
+
"data-focused": f || void 0,
|
|
27
|
+
"data-focus-visible": _ || void 0,
|
|
28
|
+
"data-pressed": v || void 0,
|
|
29
|
+
"data-readonly": y || void 0,
|
|
30
|
+
"data-icon": b ? !0 : void 0
|
|
31
|
+
}, S;
|
|
32
|
+
return b && (S = /* @__PURE__ */ a(n, {
|
|
33
|
+
icon: b,
|
|
34
|
+
size: 16,
|
|
35
|
+
className: r(d.icon),
|
|
36
|
+
...x
|
|
37
|
+
})), /* @__PURE__ */ o(i, { children: [
|
|
38
|
+
m === "start" && l,
|
|
39
|
+
/* @__PURE__ */ a("span", {
|
|
40
|
+
...x,
|
|
41
|
+
className: r(d.track, e),
|
|
42
|
+
children: /* @__PURE__ */ a("span", {
|
|
43
|
+
...x,
|
|
44
|
+
className: r(d.handle),
|
|
45
|
+
children: S
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
m === "end" && l
|
|
49
|
+
] });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
|
|
55
|
-
export { d as t };
|
|
54
|
+
export { f as t };
|
|
56
55
|
|
|
57
56
|
//# sourceMappingURL=Switch.map
|
package/dist/chunks/Switch.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch","names":["renderProps"],"sources":["../../src/components/Input/Switch/switch.module.css","../../src/components/Input/Switch/Switch.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-switch-handle-color\n* --md-switch-selected-handle-color\n*\n* --md-switch-handle-interaction-color\n* --md-switch-selected-handle-interaction-color\n*\n* --md-switch-handle-icon-color\n* --md-switch-selected-handle-icon-color\n*\n* --md-switch-track-color\n* --md-switch-selected-track-color\n* --md-switch-track-outline-color\n*\n* --md-switch-state-layer-color\n* --md-switch-selected-state-layer-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .switch {\n /* switch tokens */\n /* handle tokens */\n --_md-switch-handle-color: var(\n --md-switch-handle-color,\n var(--md-sys-color-outline)\n );\n --_md-switch-selected-handle-color: var(\n --md-switch-selected-handle-color,\n var(--md-sys-color-on-primary)\n );\n\n /* for hovered, focused and pressed state */\n --_md-switch-handle-interaction-color: var(\n --md-switch-handle-interaction-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-switch-selected-handle-interaction-color: var(\n --md-switch-selected-handle-interaction-color,\n var(--md-sys-color-primary-container)\n );\n\n /* handle icon tokens */\n --_md-switch-handle-icon-color: var(\n --md-switch-handle-icon-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-handle-icon-color: var(\n --md-switch-selected-handle-icon-color,\n var(--md-sys-color-primary)\n );\n\n /* track tokens */\n --_md-switch-track-color: var(\n --md-switch-track-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-track-color: var(\n --md-switch-selected-track-color,\n var(--md-sys-color-primary)\n );\n --_md-switch-track-outline-color: var(\n --md-switch-track-outline-color,\n var(--md-sys-color-outline)\n );\n\n /* state layer tokens */\n --_md-switch-state-layer-color: var(\n --md-switch-state-layer-color,\n var(--md-sys-color-on-surface)\n );\n --_md-switch-selected-state-layer-color: var(\n --md-switch-selected-state-layer-color,\n var(--_md-switch-selected-track-color)\n );\n\n /* configurable tokens end */\n\n /* handle specific tokens */\n /* size */\n --_md-switch-handle-size: calc(16 * var(--dp, 1px));\n --_md-switch-handle-with-icon-size: calc(24 * var(--dp, 1px));\n --_md-switch-selected-handle-size: calc(24 * var(--dp, 1px));\n --_md-switch-pressed-handle-size: calc(28 * var(--dp, 1px));\n\n /* shape */\n --_md-switch-handle-shape: var(--md-sys-shape-corner-radius-full);\n\n /* handle tokens end */\n\n /* track tokens */\n /* dimensions and shape */\n --_md-switch-track-block-size: calc(32 * var(--dp, 1px));\n --_md-switch-track-inline-size: calc(52 * var(--dp, 1px));\n --_md-switch-track-shape: var(--md-sys-shape-corner-radius-full);\n\n /* outline */\n --_md-switch-track-outline-thickness: calc(2 * var(--dp, 1px));\n\n /* track tokens end */\n\n /* state layer tokens */\n --_state-layer-opacity: 0;\n --_state-color: var(--_md-switch-state-layer-color);\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* state layer tokens end */\n\n position: relative;\n display: inline-flex;\n\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-16);\n\n color: inherit;\n cursor: pointer;\n\n & * {\n cursor: inherit;\n }\n\n &[data-disabled] {\n color: rgb(\n from currentColor r g b /\n var(--md-sys-state-disabled-content)\n );\n cursor: default;\n }\n\n &[data-selected] {\n --_state-color: var(--_md-switch-selected-state-layer-color);\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n z-index: 1;\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n z-index: 1;\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n }\n\n .state-layer::before {\n content: \"\";\n\n position: absolute;\n inset: calc(-1 * var(--md-sys-layout-space-12));\n\n background-color: var(--_state-layer-color);\n border-radius: var(--md-sys-shape-corner-radius-extra-small);\n\n pointer-events: none;\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .icon {\n color: var(--_icon-color);\n }\n\n .handle {\n /* derived size */\n --_handle-size: var(--_md-switch-handle-size);\n --_handle-color: var(--_md-switch-handle-color);\n --_handle-x: calc(6 * var(--dp, 1px));\n\n --_icon-color: var(--_md-switch-handle-icon-color);\n\n /* handle style */\n position: absolute;\n inset-block-start: 50%;\n translate: var(--_handle-x) -50%;\n\n inline-size: var(--_handle-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_md-switch-handle-shape);\n\n background-color: var(--_handle-color);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition:\n translate var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n inline-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n block-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n --_handle-size: var(--_md-switch-handle-with-icon-size);\n --_handle-x: calc(2 * var(--dp, 1px));\n }\n\n &[data-selected] {\n --_handle-color: var(--_md-switch-selected-handle-color);\n --_handle-size: var(--_md-switch-selected-handle-size);\n --_handle-x: calc(22 * var(--dp, 1px));\n --_icon-color: var(--_md-switch-selected-handle-icon-color);\n }\n\n &[data-pressed] {\n --_handle-size: var(--_md-switch-pressed-handle-size);\n --_handle-x: 0;\n\n &[data-selected] {\n --_handle-x: calc(20 * var(--dp, 1px));\n }\n }\n\n &[data-focus-visible],\n &[data-hovered],\n &[data-pressed] {\n --_handle-color: var(--_md-switch-handle-interaction-color);\n\n &[data-selected] {\n --_handle-color: var(\n --_md-switch-selected-handle-interaction-color\n );\n }\n }\n\n &[data-disabled] {\n --_icon-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n &[data-selected] {\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-surface) r g b /\n 1\n );\n }\n }\n }\n\n /* handle state layer */\n .handle[data-show-state-layer]::before {\n --_state-size: calc(40 * var(--dp, 1px));\n --_state-shape: var(--md-sys-shape-corner-radius-full);\n\n content: \"\";\n\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n transform: translate(-50%, -50%);\n\n inline-size: var(--_state-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_state-shape);\n\n background-color: var(--_state-layer-color);\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track {\n --_track-color: var(--_md-switch-track-color);\n --_track-outline-color: var(--_md-switch-track-outline-color);\n\n position: relative;\n border-radius: var(--_md-switch-track-shape);\n\n inline-size: var(--_md-switch-track-inline-size);\n min-inline-size: var(--_md-switch-track-inline-size);\n\n block-size: var(--_md-switch-track-block-size);\n min-block-size: var(--_md-switch-track-block-size);\n\n border-width: var(--_md-switch-track-outline-thickness);\n border-style: solid;\n border-color: var(--_track-outline-color);\n\n background-color: var(--_track-color);\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track[data-disabled] {\n --_track-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_track-outline-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-selected] {\n --_track-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n }\n }\n\n .track[data-selected] {\n --_track-color: var(--_md-switch-selected-track-color);\n --_track-outline-color: transparent;\n }\n\n .track[data-focus-visible] {\n --focus-indicator-color: var(--md-sys-color-secondary);\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n}\n","import clsx from \"clsx\";\nimport { Check, type LucideIcon, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Switch as AriaSwitch } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { typography } from \"@/utils\";\nimport { TapTarget } from \"@/utils/tapTarget\";\nimport styles from \"./switch.module.css\";\nimport type { SwitchProps } from \"./types\";\n\nexport const Switch: React.FC<SwitchProps> = ({\n className,\n children,\n icon = \"selected\",\n labelPlacement = \"start\",\n containerStateLayer = false,\n unselectedIcon = X,\n selectedIcon = Check,\n ...props\n}) => {\n return (\n <AriaSwitch\n className={(renderProps) =>\n clsx(\n styles[\"switch\"],\n containerStateLayer && styles[\"state-layer\"],\n typography.labelLarge,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-switch\n >\n {(renderProps) => {\n const {\n isSelected,\n isHovered,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isReadOnly,\n } = renderProps;\n\n let iconValue: LucideIcon | undefined;\n if (icon !== \"none\" && isSelected) {\n iconValue = selectedIcon;\n }\n\n if (icon === \"both\" && !isSelected) {\n iconValue = unselectedIcon;\n }\n\n const dataAttrs = {\n \"data-selected\": isSelected || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-icon\": iconValue ? true : undefined,\n \"data-show-state-layer\": !containerStateLayer || undefined,\n };\n\n let iconElement: ReactNode;\n if (iconValue) {\n iconElement = (\n <Icon\n icon={iconValue}\n size={16}\n className={clsx(styles[\"icon\"])}\n {...dataAttrs}\n />\n );\n }\n\n const label =\n typeof children === \"function\"\n ? children(renderProps)\n : children;\n\n return (\n <>\n {labelPlacement === \"start\" && label}\n\n <span\n {...dataAttrs}\n className={clsx(styles[\"track\"], TapTarget)}\n >\n <span\n {...dataAttrs}\n className={clsx(styles[\"handle\"])}\n >\n {iconElement}\n </span>\n </span>\n\n {labelPlacement === \"end\" && label}\n </>\n );\n }}\n </AriaSwitch>\n );\n};\n"],"mappings":";;;;;;;;;;;;;GCUa,KAAiC,EAC1C,cACA,aACA,UAAO,YACP,oBAAiB,SACjB,yBAAsB,IACtB,oBAAiB,GACjB,kBAAe,GACf,GAAG,QAGC,kBAAC,GAAD;CACI,YAAY,MACR,EACI,EAAO,QACP,KAAuB,EAAO,gBAC9B,EAAW,YACX,OAAO,KAAc,aACf,EAAU,CAAW,IACrB,CACV;CAEJ,GAAI;CACJ,eAAA;YAEEA,MAAgB;EACd,IAAM,EACF,eACA,cACA,eACA,cACA,mBACA,cACA,kBACAA,GAEA;EAKJ,AAJI,MAAS,UAAU,MACnB,IAAY,IAGZ,MAAS,UAAU,CAAC,MACpB,IAAY;EAGhB,IAAM,IAAY;GACd,iBAAiB,KAAc,KAAA;GAC/B,gBAAgB,KAAa,KAAA;GAC7B,iBAAiB,KAAc,KAAA;GAC/B,gBAAgB,KAAa,KAAA;GAC7B,sBAAsB,KAAkB,KAAA;GACxC,gBAAgB,KAAa,KAAA;GAC7B,iBAAiB,KAAc,KAAA;GAC/B,aAAa,IAAY,KAAO,KAAA;GAChC,yBAAyB,CAAC,KAAuB,KAAA;EACrD,GAEI;EACJ,AAAI,MACA,IACI,kBAAC,GAAD;GACI,MAAM;GACN,MAAM;GACN,WAAW,EAAK,EAAO,IAAO;GAC9B,GAAI;EAAU,CAAA;EAK1B,IAAM,IACF,OAAO,KAAa,aACd,EAASA,CAAW,IACpB;EAEV,OACI,kBAAA,GAAA,EAAA,UAAA;GACK,MAAmB,WAAW;GAE/B,kBAAC,QAAD;IACI,GAAI;IACJ,WAAW,EAAK,EAAO,OAAU,CAAS;cAE1C,kBAAC,QAAD;KACI,GAAI;KACJ,WAAW,EAAK,EAAO,MAAS;eAE/B;IACC,CAAA;GACJ,CAAA;GAEL,MAAmB,SAAS;EACjC,EAAA,CAAA;CAER;AACQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"Switch","names":["AriaSwitchField","clsx","styles","_Fragment","TapTarget","Icon","clsx$1","switch_module_default","\"switch\"","Switch","X","Check","props","SwitchField","label","children","renderProps","SwitchButton","typography","buttonRenderProps","iconValue","icon","isSelected","selectedIcon","unselectedIcon","dataAttrs","isHovered","isDisabled","isFocused","isFocusVisible","isPressed","isReadOnly","iconElement","\"icon\"","Fragment","labelPlacement","\"track\"","\"handle\""],"sources":["../../src/components/Input/Switch/switch.module.css","../../src/components/Input/Switch/Switch.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-switch-handle-color\n* --md-switch-selected-handle-color\n*\n* --md-switch-handle-interaction-color\n* --md-switch-selected-handle-interaction-color\n*\n* --md-switch-handle-icon-color\n* --md-switch-selected-handle-icon-color\n*\n* --md-switch-track-color\n* --md-switch-selected-track-color\n* --md-switch-track-outline-color\n*\n* --md-switch-state-layer-color\n* --md-switch-selected-state-layer-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .switch {\n /* switch tokens */\n /* handle tokens */\n --_md-switch-handle-color: var(\n --md-switch-handle-color,\n var(--md-sys-color-outline)\n );\n --_md-switch-selected-handle-color: var(\n --md-switch-selected-handle-color,\n var(--md-sys-color-on-primary)\n );\n\n /* for hovered, focused and pressed state */\n --_md-switch-handle-interaction-color: var(\n --md-switch-handle-interaction-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-switch-selected-handle-interaction-color: var(\n --md-switch-selected-handle-interaction-color,\n var(--md-sys-color-primary-container)\n );\n\n /* handle icon tokens */\n --_md-switch-handle-icon-color: var(\n --md-switch-handle-icon-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-handle-icon-color: var(\n --md-switch-selected-handle-icon-color,\n var(--md-sys-color-primary)\n );\n\n /* track tokens */\n --_md-switch-track-color: var(\n --md-switch-track-color,\n var(--md-sys-color-surface-container-highest)\n );\n --_md-switch-selected-track-color: var(\n --md-switch-selected-track-color,\n var(--md-sys-color-primary)\n );\n --_md-switch-track-outline-color: var(\n --md-switch-track-outline-color,\n var(--md-sys-color-outline)\n );\n\n /* state layer tokens */\n --_md-switch-state-layer-color: var(\n --md-switch-state-layer-color,\n var(--md-sys-color-on-surface)\n );\n --_md-switch-selected-state-layer-color: var(\n --md-switch-selected-state-layer-color,\n var(--_md-switch-selected-track-color)\n );\n\n /* configurable tokens end */\n\n /* handle specific tokens */\n /* size */\n --_md-switch-handle-size: calc(16 * var(--dp, 1px));\n --_md-switch-handle-with-icon-size: calc(24 * var(--dp, 1px));\n --_md-switch-selected-handle-size: calc(24 * var(--dp, 1px));\n --_md-switch-pressed-handle-size: calc(28 * var(--dp, 1px));\n\n /* shape */\n --_md-switch-handle-shape: var(--md-sys-shape-corner-radius-full);\n\n /* handle tokens end */\n\n /* track tokens */\n /* dimensions and shape */\n --_md-switch-track-block-size: calc(32 * var(--dp, 1px));\n --_md-switch-track-inline-size: calc(52 * var(--dp, 1px));\n --_md-switch-track-shape: var(--md-sys-shape-corner-radius-full);\n\n /* outline */\n --_md-switch-track-outline-thickness: calc(2 * var(--dp, 1px));\n\n /* track tokens end */\n\n /* state layer tokens */\n --_state-layer-opacity: 0;\n --_state-color: var(--_md-switch-state-layer-color);\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n /* state layer tokens end */\n\n position: relative;\n display: inline-flex;\n\n align-items: center;\n justify-content: space-between;\n gap: var(--md-sys-layout-space-16);\n\n color: inherit;\n cursor: pointer;\n\n & * {\n cursor: inherit;\n }\n\n &[data-disabled] {\n color: rgb(\n from currentColor r g b /\n var(--md-sys-state-disabled-content)\n );\n cursor: default;\n }\n\n &[data-selected] {\n --_state-color: var(--_md-switch-selected-state-layer-color);\n }\n\n &[data-hovered] {\n --_state-layer-opacity: var(--md-sys-state-hover);\n z-index: 1;\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n z-index: 1;\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n }\n\n .icon {\n color: var(--_icon-color);\n }\n\n .handle {\n /* derived size */\n --_handle-size: var(--_md-switch-handle-size);\n --_handle-color: var(--_md-switch-handle-color);\n --_handle-x: calc(6 * var(--dp, 1px));\n\n --_icon-color: var(--_md-switch-handle-icon-color);\n\n /* handle style */\n position: absolute;\n inset-block-start: 50%;\n translate: var(--_handle-x) -50%;\n\n inline-size: var(--_handle-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_md-switch-handle-shape);\n\n background-color: var(--_handle-color);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition:\n translate var(--md-sys-motion-expressive-fast-spatial)\n var(--md-sys-motion-expressive-fast-spatial-duration),\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n inline-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n block-size var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-icon] {\n --_handle-size: var(--_md-switch-handle-with-icon-size);\n --_handle-x: calc(2 * var(--dp, 1px));\n }\n\n &[data-selected] {\n --_handle-color: var(--_md-switch-selected-handle-color);\n --_handle-size: var(--_md-switch-selected-handle-size);\n --_handle-x: calc(22 * var(--dp, 1px));\n --_icon-color: var(--_md-switch-selected-handle-icon-color);\n }\n\n &[data-pressed] {\n --_handle-size: var(--_md-switch-pressed-handle-size);\n --_handle-x: 0;\n\n &[data-selected] {\n --_handle-x: calc(20 * var(--dp, 1px));\n }\n }\n\n &[data-focus-visible],\n &[data-hovered],\n &[data-pressed] {\n --_handle-color: var(--_md-switch-handle-interaction-color);\n\n &[data-selected] {\n --_handle-color: var(\n --_md-switch-selected-handle-interaction-color\n );\n }\n }\n\n &[data-disabled] {\n --_icon-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n &[data-selected] {\n --_icon-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n --_handle-color: rgb(\n from var(--md-sys-color-surface) r g b /\n 1\n );\n }\n }\n }\n\n /* handle state layer */\n .handle::before {\n --_state-size: calc(40 * var(--dp, 1px));\n --_state-shape: var(--md-sys-shape-corner-radius-full);\n\n content: \"\";\n\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n transform: translate(-50%, -50%);\n\n inline-size: var(--_state-size);\n aspect-ratio: 1 / 1;\n border-radius: var(--_state-shape);\n\n background-color: var(--_state-layer-color);\n\n transition: background-color\n var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track {\n --_track-color: var(--_md-switch-track-color);\n --_track-outline-color: var(--_md-switch-track-outline-color);\n\n position: relative;\n border-radius: var(--_md-switch-track-shape);\n\n inline-size: var(--_md-switch-track-inline-size);\n min-inline-size: var(--_md-switch-track-inline-size);\n\n block-size: var(--_md-switch-track-block-size);\n min-block-size: var(--_md-switch-track-block-size);\n\n border-width: var(--_md-switch-track-outline-thickness);\n border-style: solid;\n border-color: var(--_track-outline-color);\n\n background-color: var(--_track-color);\n\n transition:\n background-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration),\n border-color var(--md-sys-motion-expressive-fast-effects)\n var(--md-sys-motion-expressive-fast-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .track[data-disabled] {\n --_track-color: rgb(\n from var(--md-sys-color-surface-container-highest) r g b /\n var(--md-sys-state-disabled-container)\n );\n --_track-outline-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n\n &[data-selected] {\n --_track-color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-container)\n );\n }\n }\n\n .track[data-selected] {\n --_track-color: var(--_md-switch-selected-track-color);\n --_track-outline-color: transparent;\n }\n\n .track[data-focus-visible] {\n --focus-indicator-color: var(--md-sys-color-secondary);\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-offset: calc(2 * var(--dp, 1px));\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-offset: var(--focus-indicator-offset);\n outline-color: var(--focus-indicator-color);\n }\n}\n","import clsx from \"clsx\";\nimport { Check, type LucideIcon, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport {\n SwitchField as AriaSwitchField,\n SwitchButton,\n} from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { TapTarget, typography } from \"@/utils\";\nimport styles from \"./switch.module.css\";\nimport type { SwitchProps } from \"./types\";\n\n/**\n * A toggle switch control implementing Material Design 3 Switch specifications.\n *\n * Toggles a binary on/off setting with an animated sliding thumb indicator, support for optional\n * handle icons (such as checkmark and cross), and configurable label placement. Built on React Aria's\n * `SwitchField` and `SwitchButton` components for robust accessibility, keyboard navigation, and form integration.\n *\n * @example\n * ```tsx\n * import { Switch } from \"@adgytec/web-ui-components\";\n *\n * <Switch isSelected={airplaneMode} onChange={setAirplaneMode}>\n * Airplane Mode\n * </Switch>\n * ```\n *\n * @example\n * ```tsx\n * // With custom icons in both on/off states and label placed after switch\n * import { Switch } from \"@adgytec/web-ui-components\";\n * import { Wifi, WifiOff } from \"lucide-react\";\n *\n * <Switch\n * icon=\"both\"\n * selectedIcon={Wifi}\n * unselectedIcon={WifiOff}\n * labelPlacement=\"end\"\n * >\n * Wi-Fi\n * </Switch>\n * ```\n */\nexport const Switch: React.FC<SwitchProps> = ({\n children,\n icon = \"selected\",\n labelPlacement = \"start\",\n unselectedIcon = X,\n selectedIcon = Check,\n ...props\n}) => {\n return (\n <AriaSwitchField {...props}>\n {(renderProps) => {\n const label =\n typeof children === \"function\"\n ? children(renderProps)\n : children;\n\n return (\n <SwitchButton\n className={clsx(\n styles[\"switch\"],\n typography.labelLarge\n )}\n >\n {(buttonRenderProps) => {\n const {\n isSelected,\n isHovered,\n isDisabled,\n isFocused,\n isFocusVisible,\n isPressed,\n isReadOnly,\n } = buttonRenderProps;\n\n let iconValue: LucideIcon | undefined;\n if (icon !== \"none\" && isSelected) {\n iconValue = selectedIcon;\n }\n\n if (icon === \"both\" && !isSelected) {\n iconValue = unselectedIcon;\n }\n\n const dataAttrs = {\n \"data-selected\": isSelected || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\":\n isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-readonly\": isReadOnly || undefined,\n \"data-icon\": iconValue ? true : undefined,\n };\n\n let iconElement: ReactNode;\n if (iconValue) {\n iconElement = (\n <Icon\n icon={iconValue}\n size={16}\n className={clsx(styles[\"icon\"])}\n {...dataAttrs}\n />\n );\n }\n\n return (\n <>\n {labelPlacement === \"start\" && label}\n\n <span\n {...dataAttrs}\n className={clsx(\n styles[\"track\"],\n TapTarget\n )}\n >\n <span\n {...dataAttrs}\n className={clsx(styles[\"handle\"])}\n >\n {iconElement}\n </span>\n </span>\n\n {labelPlacement === \"end\" && label}\n </>\n );\n }}\n </SwitchButton>\n );\n }}\n </AriaSwitchField>\n );\n};\n"],"mappings":";;;;;;;;;;;;A,GC4CaS,KAAiC,EAC1C,aACA,UAAO,YACP,oBAAiB,SACjB,oBAAiBC,GACjB,kBAAeC,GACf,GAAGC,QAGC,kBAACZ,GAAD;CAAiB,GAAIY;CACf,WAAA,MAAgB;EACd,IAAME,IACF,OAAOC,KAAa,aACdA,EAASC,CAAW,IACpBD;EAEV,OACI,kBAACE,GAAD;GACI,WAAWhB,EACPC,EAAOM,QACPU,EAAW,UACf;GAEE,WAAA,MAAsB;IACpB,IAAM,EACF,eACA,cACA,eACA,cACA,mBACA,cACA,kBACAC,GAEAC;IAKJ,AAJIC,MAAS,UAAUC,MACnB,IAAYC,IAGZF,MAAS,UAAU,CAACC,MACpB,IAAYE;IAGhB,IAAMC,IAAY;KACd,iBAAiBH,KAAc,KAAA;KAC/B,gBAAgBI,KAAa,KAAA;KAC7B,iBAAiBC,KAAc,KAAA;KAC/B,gBAAgBC,KAAa,KAAA;KAC7B,sBACIC,KAAkB,KAAA;KACtB,gBAAgBC,KAAa,KAAA;KAC7B,iBAAiBC,KAAc,KAAA;KAC/B,aAAaX,IAAY,KAAO,KAAA;IACpC,GAEIY;IAYJ,OAXIZ,MACA,IACI,kBAACf,GAAD;KACI,MAAMe;KACN,MAAM;KACN,WAAWnB,EAAKC,EAAO+B,IAAO;KAC9B,GAAIR;IAAU,CAAA,IAMtB,kBAAAtB,GAAA,EAAA,UAAA;KACKgC,MAAmB,WAAWrB;KAE/B,kBAAC,QAAD;MACI,GAAIW;MACJ,WAAWxB,EACPC,EAAOkC,OACPhC,CACJ;MAEA,UAAA,kBAAC,QAAD;OACI,GAAIqB;OACJ,WAAWxB,EAAKC,EAAOmC,MAAS;OAE/B,UAAAL;MACC,CAAA;KACJ,CAAA;KAELG,MAAmB,SAASrB;IACjC,EAAA,CAAA;GAER;EACU,CAAA;CAEtB;AACa,CAAA"}
|