@adgytec/adgytec-web-ui-components 2.3.1 → 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 +0 -1
- package/dist/assets/BottomSheetModal.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/Radio.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 +0 -1
- 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 +2 -11
- 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 +0 -1
- package/dist/chunks/CalendarCell.map +1 -1
- package/dist/chunks/CalendarGrid +1 -2
- package/dist/chunks/CalendarGrid.map +1 -1
- package/dist/chunks/CalendarMenuItem +1 -2
- 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 +182 -200
- package/dist/chunks/ComboBoxTrigger.map +1 -1
- package/dist/chunks/ConnectedButtonGroup +0 -1
- 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 +4 -8
- package/dist/chunks/Input2.map +1 -1
- package/dist/chunks/ListAction +0 -1
- package/dist/chunks/ListAction.map +1 -1
- 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 +1 -2
- package/dist/chunks/ListTrailingText.map +1 -1
- 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 +2 -4
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- package/dist/chunks/SplitButton.map +1 -1
- package/dist/chunks/SplitButtonTrigger +1 -2
- 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 +109 -85
- 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/compiler-runtime +2 -3
- package/dist/chunks/context +1 -2
- package/dist/chunks/core +3 -6
- 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 +9 -10
- 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/useHover +187 -225
- package/dist/chunks/useHover.map +1 -1
- package/dist/chunks/useSplash +1 -2
- package/dist/chunks/useSplash.map +1 -1
- package/dist/components/AppBar/AppBar/index.js +1 -2
- package/dist/components/AppBar/AppBarAction/index.js +1 -2
- package/dist/components/AppBar/AppBarAvatar/index.js +1 -2
- package/dist/components/AppBar/AppBarHeadline/index.js +1 -2
- package/dist/components/AppBar/AppBarState/index.js +2 -4
- package/dist/components/AppBar/AppBarState/index.js.map +1 -1
- package/dist/components/AppBar/core/index.js +2 -4
- package/dist/components/AppBar/core/index.js.map +1 -1
- package/dist/components/Button/Button/index.js +1 -2
- package/dist/components/Button/Button/index.js.map +1 -1
- package/dist/components/Button/ButtonGroups/ButtonGroup/index.js +1 -2
- 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/ConnectedButton/index.js +1 -2
- package/dist/components/Button/ButtonGroups/ConnectedButtonGroup/index.js +1 -2
- package/dist/components/Button/IconButton/index.js +1 -2
- package/dist/components/Button/LinkButton/index.js +1 -2
- package/dist/components/Button/LinkButton/index.js.map +1 -1
- package/dist/components/Button/LinkIconButton/index.js +1 -2
- package/dist/components/Button/SplitButton/SplitButton/index.js +1 -2
- 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/SplitButtonPrimary/index.js +1 -2
- package/dist/components/Button/SplitButton/SplitButtonTrigger/index.js +1 -2
- package/dist/components/Button/SplitButton/core/index.js +1 -2
- package/dist/components/Button/ToggleButton/index.js +1 -2
- package/dist/components/Button/ToggleButton/index.js.map +1 -1
- package/dist/components/Button/ToggleIconButton/index.js +1 -2
- package/dist/components/Button/core/index.js +1 -2
- package/dist/components/Calendar/BaseCalendar/index.js +1 -2
- package/dist/components/Calendar/Calendar/index.js +1 -2
- package/dist/components/Calendar/Calendar/index.js.map +1 -1
- package/dist/components/Calendar/CalendarCell/index.js +1 -2
- package/dist/components/Calendar/CalendarGrid/index.js +1 -2
- package/dist/components/Calendar/CalendarMenuItem/index.js +1 -2
- package/dist/components/Calendar/CalendarMonthMenu/index.js +1 -2
- package/dist/components/Calendar/CalendarMonthMenu/index.js.map +1 -1
- package/dist/components/Calendar/CalendarYearMenu/index.js +1 -2
- package/dist/components/Calendar/CalendarYearMenu/index.js.map +1 -1
- package/dist/components/Calendar/RangeCalendar/index.js +1 -2
- package/dist/components/Calendar/RangeCalendar/index.js.map +1 -1
- package/dist/components/Calendar/core/index.js +1 -2
- package/dist/components/Card/CardIcon/index.js +1 -2
- package/dist/components/Decorators/GridBackgroundDecorator/index.js +1 -2
- package/dist/components/Decorators/RadialGlowDecorator/index.js +1 -2
- package/dist/components/Dialog/ActionDialog/index.js +1 -2
- package/dist/components/Dialog/Dialog/index.js +1 -2
- package/dist/components/Dialog/Modal/index.js +1 -2
- package/dist/components/Dialog/ModalOverlay/index.js +1 -2
- package/dist/components/Dialog/core/index.js +2 -4
- package/dist/components/Dialog/core/index.js.map +1 -1
- package/dist/components/Disclosure/Disclosure/index.js +1 -2
- package/dist/components/Disclosure/DisclosureGroup/index.js +1 -2
- package/dist/components/Disclosure/DisclosureHeader/index.js +1 -2
- package/dist/components/Disclosure/DisclosurePanel/index.js +1 -2
- package/dist/components/Disclosure/context/index.js +1 -2
- package/dist/components/Disclosure/context/index.js.map +1 -1
- package/dist/components/Divider/index.js +1 -2
- package/dist/components/Icon/index.js +1 -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 +14 -3
- package/dist/components/Input/Checkbox/CheckboxGroup.d.ts +3 -3
- package/dist/components/Input/Checkbox/context.d.ts +2 -4
- package/dist/components/Input/Checkbox/types.d.ts +11 -26
- package/dist/components/Input/DateField/index.js +1 -2
- package/dist/components/Input/DatePicker/DatePicker/index.js +1 -2
- package/dist/components/Input/DatePicker/DateRangePicker/index.js +1 -2
- package/dist/components/Input/DatePicker/core/index.js +1 -2
- package/dist/components/Input/Description/index.js +1 -2
- package/dist/components/Input/Description/index.js.map +1 -1
- package/dist/components/Input/FieldError/index.js +1 -2
- package/dist/components/Input/Input/index.js +1 -2
- 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 +5 -4
- package/dist/components/Input/Radio/RadioGroup.d.ts +2 -2
- package/dist/components/Input/Radio/context.d.ts +2 -4
- package/dist/components/Input/Radio/index.js +1 -2
- package/dist/components/Input/Radio/types.d.ts +11 -25
- package/dist/components/Input/SearchField/index.js +1 -2
- package/dist/components/Input/Select/ComboBox/index.js +1 -2
- package/dist/components/Input/Select/ComboBoxPopover/index.js +1 -2
- package/dist/components/Input/Select/ComboBoxTrigger/index.js +1 -2
- package/dist/components/Input/Select/Select/index.js +1 -2
- package/dist/components/Input/Select/SelectItem/index.js +1 -2
- package/dist/components/Input/Select/SelectList/index.js +1 -2
- 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/index.js +1 -2
- package/dist/components/Input/Select/SelectListSectionHeader/index.js.map +1 -1
- package/dist/components/Input/Select/SelectPopover/index.js +1 -2
- package/dist/components/Input/Select/SelectTrigger/index.js +1 -2
- package/dist/components/Input/Slider/CenteredSlider/index.js +1 -2
- package/dist/components/Input/Slider/CenteredSlider/types.d.ts +1 -1
- package/dist/components/Input/Slider/RangeSlider/RangeSlider.d.ts +1 -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 +1 -1
- package/dist/components/Input/Slider/Slider/Slider.d.ts +1 -1
- package/dist/components/Input/Slider/Slider/index.js +1 -2
- package/dist/components/Input/Slider/Slider/types.d.ts +1 -1
- package/dist/components/Input/Slider/SliderOutput/SliderOutput.d.ts +2 -2
- package/dist/components/Input/Slider/SliderOutput/index.js +1 -2
- package/dist/components/Input/Slider/SliderStops/index.js +1 -2
- package/dist/components/Input/Slider/SliderStops/types.d.ts +1 -1
- package/dist/components/Input/Slider/SliderThumb/SliderThumb.d.ts +2 -2
- package/dist/components/Input/Slider/SliderThumb/context.d.ts +2 -2
- package/dist/components/Input/Slider/SliderThumb/index.js +1 -2
- package/dist/components/Input/Slider/core/index.js +1 -2
- package/dist/components/Input/Slider/core/slider.d.ts +3 -3
- package/dist/components/Input/Switch/Switch.d.ts +20 -3
- package/dist/components/Input/Switch/index.js +1 -2
- package/dist/components/Input/Switch/types.d.ts +11 -12
- package/dist/components/Input/TextArea/index.js +1 -2
- package/dist/components/Input/TimeField/index.js +1 -2
- package/dist/components/Input/core/index.js +1 -2
- package/dist/components/Input/hooks/index.js +1 -2
- package/dist/components/List/ListAction/ListAction.d.ts +2 -2
- package/dist/components/List/ListAction/index.js +1 -2
- package/dist/components/List/ListAvatar/ListAvatar.d.ts +2 -2
- package/dist/components/List/ListAvatar/index.js +1 -2
- package/dist/components/List/ListBox/ListBox.d.ts +3 -3
- package/dist/components/List/ListBox/index.js +1 -2
- package/dist/components/List/ListBox/types.d.ts +14 -2
- package/dist/components/List/ListIcon/ListIcon.d.ts +2 -2
- package/dist/components/List/ListIcon/index.js +1 -2
- package/dist/components/List/ListItem/ListItem.d.ts +2 -1
- package/dist/components/List/ListItem/index.js +1 -2
- package/dist/components/List/ListItem/types.d.ts +17 -4
- package/dist/components/List/ListLabelText/ListLabelText.d.ts +2 -2
- package/dist/components/List/ListLabelText/index.js +1 -2
- package/dist/components/List/ListMedia/ListMedia.d.ts +1 -1
- package/dist/components/List/ListMedia/index.js +1 -2
- package/dist/components/List/ListMedia/types.d.ts +2 -2
- package/dist/components/List/ListOverlineText/ListOverlineText.d.ts +2 -2
- package/dist/components/List/ListOverlineText/index.js +1 -2
- package/dist/components/List/ListSupportingText/ListSupportingText.d.ts +2 -2
- package/dist/components/List/ListSupportingText/index.js +1 -2
- package/dist/components/List/ListTrailingText/ListTrailingText.d.ts +2 -2
- package/dist/components/List/ListTrailingText/index.js +1 -2
- 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 -11
- package/dist/components/Loader/Loader.d.ts +2 -2
- package/dist/components/Loader/index.js +1 -2
- 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 +3 -3
- package/dist/components/Menu/MenuItem/MenuItem.d.ts +2 -2
- 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 +3 -3
- package/dist/components/Menu/MenuPopover/MenuPopover.d.ts +3 -3
- package/dist/components/Menu/MenuPopover/index.js +1 -2
- package/dist/components/Menu/MenuSection/MenuSection.d.ts +4 -4
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +3 -3
- 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 +1 -1
- package/dist/components/Menu/SubmenuPopover/index.js +1 -2
- package/dist/components/Menu/context/context.d.ts +1 -1
- 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 +1 -1
- package/dist/components/Menu/core/color.d.ts +1 -1
- package/dist/components/Menu/core/index.js +1 -2
- package/dist/components/Menu/core/layout.d.ts +1 -1
- package/dist/components/Navigation/Navigation/Navigation.d.ts +1 -1
- package/dist/components/Navigation/Navigation/navContext.d.ts +1 -1
- package/dist/components/Navigation/Navigation/navRenderingContext.d.ts +2 -2
- package/dist/components/Navigation/Navigation/types.d.ts +3 -3
- package/dist/components/Navigation/NavigationItem/NavigationButton/NavigationButton.d.ts +1 -1
- 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 +2 -2
- package/dist/components/Navigation/NavigationItem/NavigationItemIconRenderer/NavigationItemIconRenderer.d.ts +1 -1
- 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/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/NavigationLink/index.js.map +1 -1
- package/dist/components/Navigation/NavigationItem/NavigationLink/types.d.ts +2 -2
- package/dist/components/Navigation/NavigationItem/core/index.js +1 -2
- package/dist/components/Navigation/NavigationItem/core/navigationItem.d.ts +2 -2
- package/dist/components/Navigation/NavigationScrollContainer/NavigationScrollContainer.d.ts +2 -2
- package/dist/components/Navigation/NavigationScrollContainer/index.js +1 -2
- package/dist/components/Navigation/NavigationSection/NavigationSection/NavigationSection.d.ts +1 -1
- package/dist/components/Navigation/NavigationSection/NavigationSection/index.js +1 -2
- package/dist/components/Navigation/NavigationSection/NavigationSectionLabel/NavigationSectionLabel.d.ts +2 -2
- package/dist/components/Navigation/NavigationSection/NavigationSectionLabel/index.js +1 -2
- package/dist/components/Navigation/NavigationState/NavigationState.d.ts +2 -2
- package/dist/components/Navigation/NavigationState/context.d.ts +2 -2
- package/dist/components/Navigation/NavigationState/index.js +2 -4
- package/dist/components/Navigation/NavigationState/index.js.map +1 -1
- package/dist/components/Navigation/SubNavigation/SubNavigation/SubNavigation.d.ts +2 -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 +3 -3
- 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/navigation.d.ts +2 -2
- package/dist/components/Navigation/core/navigationInfo.d.ts +2 -2
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/index.js +1 -2
- 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/{BottomSheetModal → BottomSheet/BottomSheetModal}/context.d.ts +1 -1
- package/dist/components/Sheets/BottomSheet/BottomSheetModal/index.js +1 -0
- package/dist/components/Sheets/{BottomSheetModal → BottomSheet/BottomSheetModal}/types.d.ts +1 -1
- package/dist/components/Sheets/BottomSheet/index.d.ts +1 -1
- package/dist/components/Sheets/BottomSheet/index.js +3 -2
- 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/{SideSheetModal → SideSheet/SideSheetModal}/context.d.ts +1 -1
- package/dist/components/Sheets/SideSheet/SideSheetModal/index.js +1 -0
- package/dist/components/Sheets/{SideSheetModal → SideSheet/SideSheetModal}/types.d.ts +1 -1
- package/dist/components/Sheets/SideSheet/index.d.ts +1 -2
- package/dist/components/Sheets/SideSheet/index.js +3 -2
- package/dist/components/Sheets/index.d.ts +0 -2
- package/dist/components/Snackbar/index.js +1 -2
- package/dist/components/Splash/index.js +1 -2
- package/dist/components/Tabs/Tab/index.js +1 -2
- package/dist/components/Tabs/TabList/index.js +1 -2
- package/dist/components/Tabs/TabPanel/index.js +1 -2
- package/dist/components/Tabs/TabPanels/index.js +1 -2
- package/dist/components/Tabs/Tabs/index.js +1 -2
- package/dist/components/Tag/index.js +1 -2
- package/dist/components/ThemeSelector/ThemeItem.d.ts +7 -1
- package/dist/components/ThemeSelector/ThemeSelector.d.ts +2 -2
- package/dist/components/ThemeSelector/core.d.ts +21 -11
- package/dist/components/ThemeSelector/index.js +1 -2
- package/dist/components/ThemeSelector/types.d.ts +41 -0
- package/dist/components/Toolbar/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltip/RichTooltip.d.ts +4 -4
- package/dist/components/Tooltip/RichTooltip/RichTooltip/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipActions/index.js +1 -2
- package/dist/components/Tooltip/RichTooltip/RichTooltipInfo/RichTooltipInfo/index.js +1 -2
- 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/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/index.js +1 -2
- package/dist/components/Tooltip/TooltipTrigger/index.js +1 -2
- package/dist/components/Tooltip/index.js +4 -3
- package/dist/index.js +111 -111
- 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/package.json +13 -13
- package/dist/components/Sheets/BottomSheetModal/index.js +0 -2
- package/dist/components/Sheets/SideSheetModal/index.js +0 -2
- /package/dist/components/Sheets/BottomSheet/{BottomSheet.d.ts → BottomSheet/BottomSheet.d.ts} +0 -0
- /package/dist/components/Sheets/BottomSheet/{types.d.ts → BottomSheet/types.d.ts} +0 -0
- /package/dist/components/Sheets/{BottomSheetModal → BottomSheet/BottomSheetModal}/BottomSheetModal.d.ts +0 -0
- /package/dist/components/Sheets/{BottomSheetModal → BottomSheet/BottomSheetModal}/index.d.ts +0 -0
- /package/dist/components/Sheets/SideSheet/{SideSheet.d.ts → SideSheet/SideSheet.d.ts} +0 -0
- /package/dist/components/Sheets/SideSheet/{SideSheetDialog.d.ts → SideSheet/SideSheetDialog.d.ts} +0 -0
- /package/dist/components/Sheets/SideSheet/{types.d.ts → SideSheet/types.d.ts} +0 -0
- /package/dist/components/Sheets/{SideSheetModal → SideSheet/SideSheetModal}/SideSheetModal.d.ts +0 -0
- /package/dist/components/Sheets/{SideSheetModal → SideSheet/SideSheetModal}/index.d.ts +0 -0
package/dist/chunks/Snackbar.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;;;;;;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"}
|
|
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,7 +4,7 @@ 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'
|
|
7
|
+
import '../assets/SplitButton.css';// src/components/Button/SplitButton/SplitButton/splitButton.module.css
|
|
8
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
9
|
let m = r(() => ({
|
|
10
10
|
isPending: l,
|
|
@@ -27,7 +27,6 @@ var o = { "split-button": "_split-button_1mye6_2" }, s = ({ color: s = "filled",
|
|
|
27
27
|
})
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
//#endregion
|
|
31
30
|
export { s as t };
|
|
32
31
|
|
|
33
32
|
//# sourceMappingURL=SplitButton.map
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;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"}
|
|
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,7 +9,7 @@ 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
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);
|
|
@@ -49,7 +49,6 @@ var y = e(), b = { trigger: "_trigger_5plck_2" }, x = (e) => {
|
|
|
49
49
|
let I;
|
|
50
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;
|
|
51
51
|
};
|
|
52
|
-
//#endregion
|
|
53
52
|
export { x as t };
|
|
54
53
|
|
|
55
54
|
//# sourceMappingURL=SplitButtonTrigger.map
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;;;;;;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
|
+
{"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":["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`](
|
|
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","Switch","AriaSwitch","clsx","styles","_Fragment","TapTarget","Icon","clsx$1","switch_module_default","\"switch\"","Switch$1","X","Check","props","Switch","containerStateLayer","typography","className","renderProps","renderProps_0","iconValue","icon","isSelected","selectedIcon","unselectedIcon","dataAttrs","isHovered","isDisabled","isFocused","isFocusVisible","isPressed","isReadOnly","iconElement","\"icon\"","label","children","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 .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\n/**\n * A toggle switch control implementing Material Design 3 Switch specifications.\n *\n * Toggles a binary on/off setting with animated sliding thumb indicator, support for optional\n * handle icons (such as checkmark and cross), and configurable label placement.\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 */\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":";;;;;;;;;;;;;GCyBaC,KAAiC,EAC1C,cACA,aACA,UAAO,YACP,oBAAiB,SACjB,yBAAsB,IACtB,oBAAiBW,GACjB,kBAAeC,GACf,GAAGC,QAGC,kBAACZ,GAAD;CACI,YAAY,MACRC,EACIC,EAAOM,QACPM,KAAuBZ,EAAO,gBAC9Ba,EAAW,YACX,OAAOC,KAAc,aACfA,EAAUC,CAAW,IACrBD,CACV;CAEJ,GAAIJ;CACJ,eAAA;CAEEd,WAAAA,MAAgB;EACd,IAAM,EACF,eACA,cACA,eACA,cACA,mBACA,cACA,kBACAA,GAEAqB;EAKJ,AAJIC,MAAS,UAAUC,MACnB,IAAYC,IAGZF,MAAS,UAAU,CAACC,MACpB,IAAYE;EAGhB,IAAMC,IAAY;GACd,iBAAiBH,KAAc,KAAA;GAC/B,gBAAgBI,KAAa,KAAA;GAC7B,iBAAiBC,KAAc,KAAA;GAC/B,gBAAgBC,KAAa,KAAA;GAC7B,sBAAsBC,KAAkB,KAAA;GACxC,gBAAgBC,KAAa,KAAA;GAC7B,iBAAiBC,KAAc,KAAA;GAC/B,aAAaX,IAAY,KAAO,KAAA;GAChC,yBAAyB,CAACL,KAAuB,KAAA;EACrD,GAEIiB;EACJ,AAAIZ,MACA,IACI,kBAACd,GAAD;GACI,MAAMc;GACN,MAAM;GACN,WAAWlB,EAAKC,EAAO8B,IAAO;GAC9B,GAAIR;EAAU,CAAA;EAK1B,IAAMS,IACF,OAAOC,KAAa,aACdA,EAASpC,CAAW,IACpBoC;EAEV,OACI,kBAAA/B,GAAA,EAAA,UAAA;GACKiC,MAAmB,WAAWH;GAE/B,kBAAC,QAAD;IACI,GAAIT;IACJ,WAAWvB,EAAKC,EAAOmC,OAAUjC,CAAS;IAE1C,UAAA,kBAAC,QAAD;KACI,GAAIoB;KACJ,WAAWvB,EAAKC,EAAOoC,MAAS;KAE/B,UAAAP;IACC,CAAA;GACJ,CAAA;GAELK,MAAmB,SAASH;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"}
|
package/dist/chunks/Tab
CHANGED
|
@@ -5,7 +5,7 @@ import { n as r, t as i } from "./useSplash";
|
|
|
5
5
|
import a from "clsx";
|
|
6
6
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
7
|
import { SelectionIndicator as c, Tab as l } from "react-aria-components";
|
|
8
|
-
import '../assets/Tab.css'
|
|
8
|
+
import '../assets/Tab.css';// src/components/Tabs/Tab/tab.module.css
|
|
9
9
|
var u = e(), d = {
|
|
10
10
|
tab: "_tab_1lw7s_2",
|
|
11
11
|
"selection-indicator": "_selection-indicator_1lw7s_117",
|
|
@@ -45,7 +45,6 @@ var u = e(), d = {
|
|
|
45
45
|
]
|
|
46
46
|
}), f[13] = y, f[14] = h, f[15] = _, f[16] = b, f[17] = x, f[18] = S, f[19] = C, f[20] = T) : T = f[20], T;
|
|
47
47
|
};
|
|
48
|
-
//#endregion
|
|
49
48
|
export { f as t };
|
|
50
49
|
|
|
51
50
|
//# sourceMappingURL=Tab.map
|
package/dist/chunks/Tab.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab","names":["icon","handlePress","label","Tab","_c","clsx","styles","AriaTab","require_compiler_runtime","Icon","Splash","useSplash","clsx$1","import_compiler_runtime","tab_module_default","Tab$1","$","className","icon","label","onPress","props","t0","t1","typography","renderProps","t2","t3","splashInfo","t4","t5","SelectionIndicator","t6","handlePress","Tab"],"sources":["../../src/components/Tabs/Tab/tab.module.css","../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab {\n --_state-color: var(--md-sys-color-on-surface);\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n --_color: var(--_md-tabs-color);\n\n --_focus-inset-inline-start: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end: var(--md-sys-layout-space-4);\n --_focus-inset-block-start: var(--md-sys-layout-space-4);\n --_focus-inset-block-end: var(--md-sys-layout-space-4);\n\n position: relative;\n outline: none;\n\n padding-block: calc(14 * var(--dp, 1px));\n padding-inline: var(--md-sys-layout-space-16);\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n color: var(--_color);\n\n cursor: pointer;\n\n transition: 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 &[data-icon] {\n padding-block: var(--md-sys-layout-space-12);\n }\n\n &[data-selected] {\n --_color: var(--_md-tabs-active-color);\n\n --_focus-inset-inline-end: var(--_focus-inset-inline-end-active);\n --_focus-inset-block-end: var(--_focus-inset-block-end-active);\n }\n\n &[data-hovered] {\n --_color: var(--_md-tabs-active-color);\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n\n --_color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n --_md-tabs-active-indicator-color: var(--_color);\n }\n }\n\n /* state layer */\n .tab::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-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\n /* focus indicator */\n .tab[data-focus-visible]::after {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n\n inset-inline-start: var(--_focus-inset-inline-start);\n inset-inline-end: var(--_focus-inset-inline-end);\n inset-block-start: var(--_focus-inset-block-start);\n inset-block-end: var(--_focus-inset-block-end);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-color: var(--focus-indicator-color);\n\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n z-index: 1;\n }\n\n .selection-indicator {\n position: absolute;\n\n transition-timing-function: var(--md-sys-motion-standard-fast-spatial);\n transition-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .splash {\n position: absolute;\n inset: 0;\n overflow: clip;\n }\n}\n","import clsx from \"clsx\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tab as AriaTab, SelectionIndicator } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { typography } from \"@/utils\";\nimport styles from \"./tab.module.css\";\n\n/**\n * Props for the {@link Tab} component.\n * Extends React Aria Components `Tab` props (omitting raw `children` in favor of `label` and `icon`).\n */\nexport interface TabProps\n extends Omit<React.ComponentPropsWithRef<typeof AriaTab>, \"children\"> {\n /**\n * Text label to display inside the tab.\n */\n label?: ReactNode;\n\n /**\n * Optional icon displayed alongside the tab label.\n */\n icon?: LucideIcon;\n}\n\n/**\n * An individual interactive tab button within a {@link TabList}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `Tab` with Material 3 styling, supporting:\n * - A text `label` and an optional `icon` (rendered via {@link Icon}).\n * - Interactive ripple feedback via {@link Splash}.\n * - An animated {@link SelectionIndicator} that underlines or highlights the active tab.\n * - State layer feedback on hover, focus-visible, and pressed states.\n *\n * @example\n * ```tsx\n * import { Tab } from \"@adgytec/web-ui-components\";\n * import { Home } from \"lucide-react\";\n *\n * export function Example() {\n * return <Tab id=\"home\" label=\"Home\" icon={Home} />;\n * }\n * ```\n */\nexport const Tab: React.FC<TabProps> = ({\n className,\n label,\n icon,\n onPress,\n ...props\n}) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTab\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tab\"],\n typography.titleSmall,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-icon={icon ? true : undefined}\n data-tab={true}\n >\n {splashInfo && (\n <span className={clsx(styles[\"splash\"])}>\n <Splash {...splashInfo} />\n </span>\n )}\n {icon && <Icon icon={icon} size={24} />}\n {label}\n <SelectionIndicator\n className={clsx(styles[\"selection-indicator\"])}\n data-selection-indicator={true}\n />\n </AriaTab>\n );\n};\n"],"mappings":";;;;;;;;;;;;GC+CaG,KAA0B,MAAA;CAAA,IAAAa,KAAA,GAAAZ,EAAAA,EAAAA,CAAA,EAAA,GAAAa,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,AAAAL,EAAA,OAAAM,KAMtC,IAAAN,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,OANuC,8CAAA,GAAAK,KAAAC,GAMvC,EAAA,KAAAA,GAAA,EAAA,KAAAL,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC;CACG,IAAA,EAAA,eAAA,mBAAoCV,EAAUS,CAAO,GAAEG;CAAA,AAAAP,EAAA,OAAAC,IAY1C,IAAAD,EAAA,MAPM,KAAA,MACPX,EACIC,EAAM,KACNkB,EAAU,YACV,OAAOP,KAAc,aACfA,EAAUQ,CACF,IAFdR,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAM;CAGM,IAAAG,IAAAR,IAAA,KAAA,KAAA,GAAuBS;CAAA,AAAAX,EAAA,OAAAY,IAOjC,IAAAZ,EAAA,MAJA,IAAAY,KACG,kBAAA,QAAA;EAAiB,WAAAvB,EAAKC,EAAM,MAAU;EAClC,UAAA,kBAACI,GAAD,EAAO,GAAKkB,EAAU,CAAA;CACnB,CAAA,GACV,EAAA,KAAAA,GAAA,EAAA,KAAAD;CAAA,IAAAE;CAAA,AAAAb,EAAA,QAAAE,IACsC,IAAAF,EAAA,OAAtC,IAAAE,KAAQ,kBAACT,GAAD;EAAY;EAAY,MAAA;CAAE,CAAA,GAAI,EAAA,MAAAS,GAAA,EAAA,MAAAW;CAAA,IAAAC;CAAA,AAAAd,EAAA,QAAA,OAAA,IAAA,2BAAA,KAEvC,IAAA,kBAACe,GAAD;EACe,WAAA1B,EAAKC,EAAO,sBAAsB;EACnB,4BAAA;CAAI,CAAA,GAChC,EAAA,MAAAwB,KAAA,IAAAd,EAAA;CAAA,IAAAgB;CACI,OADJhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAG,KAAAH,EAAA,QAAAK,KAAAL,EAAA,QAAAO,KAAAP,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAa,KAzBN,IAAA,kBAACtB,GAAD;EACaN,SAAAgC;EACE,WAAAV;EAON,GAEDF;EACO,aAAAK;EACD,YAAA;EAbd,UAAA;GAeKC;GAKAE;GACAV;GACDW;EAtBI;
|
|
1
|
+
{"version":3,"file":"Tab","names":["icon","handlePress","label","Tab","_c","clsx","styles","AriaTab","require_compiler_runtime","Icon","Splash","useSplash","clsx$1","import_compiler_runtime","tab_module_default","Tab$1","$","className","icon","label","onPress","props","t0","t1","typography","renderProps","t2","t3","splashInfo","t4","t5","SelectionIndicator","t6","handlePress","Tab"],"sources":["../../src/components/Tabs/Tab/tab.module.css","../../src/components/Tabs/Tab/Tab.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab {\n --_state-color: var(--md-sys-color-on-surface);\n --_state-layer-opacity: 0;\n\n --_state-layer-color: rgb(\n from var(--_state-color) r g b /\n var(--_state-layer-opacity)\n );\n\n --_color: var(--_md-tabs-color);\n\n --_focus-inset-inline-start: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end: var(--md-sys-layout-space-4);\n --_focus-inset-block-start: var(--md-sys-layout-space-4);\n --_focus-inset-block-end: var(--md-sys-layout-space-4);\n\n position: relative;\n outline: none;\n\n padding-block: calc(14 * var(--dp, 1px));\n padding-inline: var(--md-sys-layout-space-16);\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: var(--md-sys-layout-space-8);\n\n color: var(--_color);\n\n cursor: pointer;\n\n transition: 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 &[data-icon] {\n padding-block: var(--md-sys-layout-space-12);\n }\n\n &[data-selected] {\n --_color: var(--_md-tabs-active-color);\n\n --_focus-inset-inline-end: var(--_focus-inset-inline-end-active);\n --_focus-inset-block-end: var(--_focus-inset-block-end-active);\n }\n\n &[data-hovered] {\n --_color: var(--_md-tabs-active-color);\n --_state-layer-opacity: var(--md-sys-state-hover);\n }\n\n &[data-focus-visible] {\n --_state-layer-opacity: var(--md-sys-state-focus);\n }\n\n &[data-pressed] {\n --_state-layer-opacity: var(--md-sys-state-pressed);\n }\n\n &[data-disabled] {\n cursor: default;\n\n --_color: rgb(\n from var(--md-sys-color-on-surface) r g b /\n var(--md-sys-state-disabled-content)\n );\n\n --_md-tabs-active-indicator-color: var(--_color);\n }\n }\n\n /* state layer */\n .tab::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n border-radius: inherit;\n\n background-color: var(--_state-layer-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\n /* focus indicator */\n .tab[data-focus-visible]::after {\n --focus-indicator-thickness: calc(3 * var(--dp, 1px));\n --focus-indicator-color: var(--md-sys-color-secondary);\n\n content: \"\";\n position: absolute;\n\n inset-inline-start: var(--_focus-inset-inline-start);\n inset-inline-end: var(--_focus-inset-inline-end);\n inset-block-start: var(--_focus-inset-block-start);\n inset-block-end: var(--_focus-inset-block-end);\n\n outline-width: var(--focus-indicator-thickness);\n outline-style: solid;\n outline-color: var(--focus-indicator-color);\n\n border-radius: var(--md-sys-shape-corner-radius-small);\n\n z-index: 1;\n }\n\n .selection-indicator {\n position: absolute;\n\n transition-timing-function: var(--md-sys-motion-standard-fast-spatial);\n transition-duration: var(\n --md-sys-motion-standard-fast-spatial-duration\n );\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n }\n\n .splash {\n position: absolute;\n inset: 0;\n overflow: clip;\n }\n}\n","import clsx from \"clsx\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tab as AriaTab, SelectionIndicator } from \"react-aria-components\";\nimport { Icon } from \"@/components/Icon\";\nimport { Splash } from \"@/components/Splash/Splash\";\nimport { useSplash } from \"@/components/Splash/useSplash\";\nimport { typography } from \"@/utils\";\nimport styles from \"./tab.module.css\";\n\n/**\n * Props for the {@link Tab} component.\n * Extends React Aria Components `Tab` props (omitting raw `children` in favor of `label` and `icon`).\n */\nexport interface TabProps\n extends Omit<React.ComponentPropsWithRef<typeof AriaTab>, \"children\"> {\n /**\n * Text label to display inside the tab.\n */\n label?: ReactNode;\n\n /**\n * Optional icon displayed alongside the tab label.\n */\n icon?: LucideIcon;\n}\n\n/**\n * An individual interactive tab button within a {@link TabList}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `Tab` with Material 3 styling, supporting:\n * - A text `label` and an optional `icon` (rendered via {@link Icon}).\n * - Interactive ripple feedback via {@link Splash}.\n * - An animated {@link SelectionIndicator} that underlines or highlights the active tab.\n * - State layer feedback on hover, focus-visible, and pressed states.\n *\n * @example\n * ```tsx\n * import { Tab } from \"@adgytec/web-ui-components\";\n * import { Home } from \"lucide-react\";\n *\n * export function Example() {\n * return <Tab id=\"home\" label=\"Home\" icon={Home} />;\n * }\n * ```\n */\nexport const Tab: React.FC<TabProps> = ({\n className,\n label,\n icon,\n onPress,\n ...props\n}) => {\n const { splashInfo, handlePress } = useSplash(onPress);\n\n return (\n <AriaTab\n onPress={handlePress}\n className={(renderProps) =>\n clsx(\n styles[\"tab\"],\n typography.titleSmall,\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n data-icon={icon ? true : undefined}\n data-tab={true}\n >\n {splashInfo && (\n <span className={clsx(styles[\"splash\"])}>\n <Splash {...splashInfo} />\n </span>\n )}\n {icon && <Icon icon={icon} size={24} />}\n {label}\n <SelectionIndicator\n className={clsx(styles[\"selection-indicator\"])}\n data-selection-indicator={true}\n />\n </AriaTab>\n );\n};\n"],"mappings":";;;;;;;;;;;;A,GC+CaG,KAA0B,MAAA;CAAA,IAAAa,KAAA,GAAAZ,EAAAA,EAAAA,CAAA,EAAA,GAAAa,GAAAC,GAAAC,GAAAC,GAAAC;CAAA,AAAAL,EAAA,OAAAM,KAMtC,IAAAN,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,OANuC,8CAAA,GAAAK,KAAAC,GAMvC,EAAA,KAAAA,GAAA,EAAA,KAAAL,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC,GAAA,EAAA,KAAAC;CACG,IAAA,EAAA,eAAA,mBAAoCV,EAAUS,CAAO,GAAEG;CAAA,AAAAP,EAAA,OAAAC,IAY1C,IAAAD,EAAA,MAPM,KAAA,MACPX,EACIC,EAAM,KACNkB,EAAU,YACV,OAAOP,KAAc,aACfA,EAAUQ,CACF,IAFdR,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAM;CAGM,IAAAG,IAAAR,IAAA,KAAA,KAAA,GAAuBS;CAAA,AAAAX,EAAA,OAAAY,IAOjC,IAAAZ,EAAA,MAJA,IAAAY,KACG,kBAAA,QAAA;EAAiB,WAAAvB,EAAKC,EAAM,MAAU;EAClC,UAAA,kBAACI,GAAD,EAAO,GAAKkB,EAAU,CAAA;CACnB,CAAA,GACV,EAAA,KAAAA,GAAA,EAAA,KAAAD;CAAA,IAAAE;CAAA,AAAAb,EAAA,QAAAE,IACsC,IAAAF,EAAA,OAAtC,IAAAE,KAAQ,kBAACT,GAAD;EAAY;EAAY,MAAA;CAAE,CAAA,GAAI,EAAA,MAAAS,GAAA,EAAA,MAAAW;CAAA,IAAAC;CAAA,AAAAd,EAAA,QAAA,OAAA,IAAA,2BAAA,KAEvC,IAAA,kBAACe,GAAD;EACe,WAAA1B,EAAKC,EAAO,sBAAsB;EACnB,4BAAA;CAAI,CAAA,GAChC,EAAA,MAAAwB,KAAA,IAAAd,EAAA;CAAA,IAAAgB;CACI,OADJhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAG,KAAAH,EAAA,QAAAK,KAAAL,EAAA,QAAAO,KAAAP,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAa,KAzBN,IAAA,kBAACtB,GAAD;EACaN,SAAAgC;EACE,WAAAV;EAON,GAEDF;EACO,aAAAK;EACD,YAAA;EAbd,UAAA;GAeKC;GAKAE;GACAV;GACDW;EAtBI;C,IA0BE,EAAA,MAAAG,GAAA,EAAA,MAAAd,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAG,GAAA,EAAA,MAAAC,GAAA,EAAA,MAAAE,GAAA,EAAA,MAAAG,KAAA,IAAAhB,EAAA,KA1BVgB;AA0BU"}
|
package/dist/chunks/TabList
CHANGED
|
@@ -2,7 +2,7 @@ import { t as e } from "./compiler-runtime";
|
|
|
2
2
|
import t from "clsx";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
import { TabList as r } from "react-aria-components";
|
|
5
|
-
import '../assets/TabList.css'
|
|
5
|
+
import '../assets/TabList.css';// src/components/Tabs/TabList/tabList.module.css
|
|
6
6
|
var i = e(), a = { "tab-list": "_tab-list_8hi4u_12" }, o = (e) => {
|
|
7
7
|
let o = (0, i.c)(8), s, c;
|
|
8
8
|
o[0] === e ? (s = o[1], c = o[2]) : ({className: s, ...c} = e, o[0] = e, o[1] = s, o[2] = c);
|
|
@@ -14,7 +14,6 @@ var i = e(), a = { "tab-list": "_tab-list_8hi4u_12" }, o = (e) => {
|
|
|
14
14
|
...c
|
|
15
15
|
}), o[5] = c, o[6] = l, o[7] = u) : u = o[7], u;
|
|
16
16
|
};
|
|
17
|
-
//#endregion
|
|
18
17
|
export { o as t };
|
|
19
18
|
|
|
20
19
|
//# sourceMappingURL=TabList.map
|
package/dist/chunks/TabList.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList","names":["TabList","_c","clsx","styles","AriaTabList","require_compiler_runtime","clsx$1","import_compiler_runtime","tabList_module_default","TabList$1","$","className","props","t0","t1","renderProps","t2","TabList"],"sources":["../../src/components/Tabs/TabList/tabList.module.css","../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-tab-list-divider-color\n* --md-tabs-active-indicator-color\n*\n* --md-tabs-color\n* --md-tabs-active-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .tab-list {\n --_md-tabs-color: var(\n --md-tabs-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-tabs-active-color: var(\n --md-tabs-active-color,\n var(--md-sys-color-on-surface)\n );\n\n --_md-tab-list-divider-width: calc(1 * var(--dp, 1px));\n --_md-tab-list-divider-color: var(\n --md-tab-list-divider-color,\n var(--md-sys-color-surface-variant)\n );\n\n --_md-tabs-active-indicator-size: calc(2 * var(--dp, 1px));\n --_md-tabs-active-indicator-color: var(\n --md-tabs-active-indicator-color,\n var(--md-sys-color-primary)\n );\n\n [data-selection-indicator] {\n background-color: var(--_md-tabs-active-indicator-color);\n }\n\n &[data-orientation=\"horizontal\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-8);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-4);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n overflow-x: auto;\n\n border-block-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-tab] {\n flex: 1;\n text-align: center;\n }\n\n [data-selection-indicator] {\n inset-inline-start: 0;\n inset-block-end: 0px;\n\n inline-size: 100%;\n block-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, inline-size;\n }\n }\n\n &[data-orientation=\"vertical\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-8);\n\n border-inline-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-selection-indicator] {\n inset-block-start: 0;\n inset-inline-end: 0px;\n\n block-size: 100%;\n inline-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, block-size;\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabList as AriaTabList } from \"react-aria-components\";\nimport styles from \"./tabList.module.css\";\n\n/**\n * Props for the {@link TabList} component.\n * Extends React Aria Components `TabList` props.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n */\nexport interface TabListProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabList<T>> {}\n\n/**\n * Container for interactive {@link Tab} elements, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabList` with Material 3 styling, active selection\n * indicator positioning, and divider styling for horizontal and vertical orientations.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n *\n * @example\n * ```tsx\n * import { Tab, TabList } from \"@adgytec/web-ui-components\";\n * import { Home, Settings, User } from \"lucide-react\";\n *\n * export function NavigationTabList() {\n * return (\n * <TabList aria-label=\"Account Tabs\">\n * <Tab id=\"home\" label=\"Home\" icon={Home} />\n * <Tab id=\"profile\" label=\"Profile\" icon={User} />\n * <Tab id=\"settings\" label=\"Settings\" icon={Settings} />\n * </TabList>\n * );\n * }\n * ```\n */\nexport const TabList = <T extends object>({\n className,\n ...props\n}: TabListProps<T>) => {\n return (\n <AriaTabList\n className={(renderProps) =>\n clsx(\n styles[\"tab-list\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;uDC8CaA,KAAU,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,aACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
|
|
1
|
+
{"version":3,"file":"TabList","names":["TabList","_c","clsx","styles","AriaTabList","require_compiler_runtime","clsx$1","import_compiler_runtime","tabList_module_default","TabList$1","$","className","props","t0","t1","renderProps","t2","TabList"],"sources":["../../src/components/Tabs/TabList/tabList.module.css","../../src/components/Tabs/TabList/TabList.tsx"],"sourcesContent":["/* configurable tokens\n*\n* --md-tab-list-divider-color\n* --md-tabs-active-indicator-color\n*\n* --md-tabs-color\n* --md-tabs-active-color\n*\n* configurable tokens end */\n\n@layer adgytec.comps {\n .tab-list {\n --_md-tabs-color: var(\n --md-tabs-color,\n var(--md-sys-color-on-surface-variant)\n );\n --_md-tabs-active-color: var(\n --md-tabs-active-color,\n var(--md-sys-color-on-surface)\n );\n\n --_md-tab-list-divider-width: calc(1 * var(--dp, 1px));\n --_md-tab-list-divider-color: var(\n --md-tab-list-divider-color,\n var(--md-sys-color-surface-variant)\n );\n\n --_md-tabs-active-indicator-size: calc(2 * var(--dp, 1px));\n --_md-tabs-active-indicator-color: var(\n --md-tabs-active-indicator-color,\n var(--md-sys-color-primary)\n );\n\n [data-selection-indicator] {\n background-color: var(--_md-tabs-active-indicator-color);\n }\n\n &[data-orientation=\"horizontal\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-8);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-4);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n overflow-x: auto;\n\n border-block-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-tab] {\n flex: 1;\n text-align: center;\n }\n\n [data-selection-indicator] {\n inset-inline-start: 0;\n inset-block-end: 0px;\n\n inline-size: 100%;\n block-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, inline-size;\n }\n }\n\n &[data-orientation=\"vertical\"] {\n --_focus-inset-block-end-active: var(--md-sys-layout-space-4);\n --_focus-inset-inline-end-active: var(--md-sys-layout-space-8);\n\n border-inline-end: var(--_md-tab-list-divider-width) solid\n var(--_md-tab-list-divider-color);\n\n [data-selection-indicator] {\n inset-block-start: 0;\n inset-inline-end: 0px;\n\n block-size: 100%;\n inline-size: var(--_md-tabs-active-indicator-size);\n\n transition-property: translate, block-size;\n }\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabList as AriaTabList } from \"react-aria-components\";\nimport styles from \"./tabList.module.css\";\n\n/**\n * Props for the {@link TabList} component.\n * Extends React Aria Components `TabList` props.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n */\nexport interface TabListProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabList<T>> {}\n\n/**\n * Container for interactive {@link Tab} elements, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabList` with Material 3 styling, active selection\n * indicator positioning, and divider styling for horizontal and vertical orientations.\n *\n * Configurable CSS tokens:\n * - `--md-tabs-color`: Text and icon color for inactive tabs (`var(--md-sys-color-on-surface-variant)`).\n * - `--md-tabs-active-color`: Text and icon color for the active tab (`var(--md-sys-color-on-surface)`).\n * - `--md-tabs-active-indicator-color`: Color of the selection indicator line (`var(--md-sys-color-primary)`).\n * - `--md-tab-list-divider-color`: Color of the divider line below or beside the tab list (`var(--md-sys-color-surface-variant)`).\n *\n * @example\n * ```tsx\n * import { Tab, TabList } from \"@adgytec/web-ui-components\";\n * import { Home, Settings, User } from \"lucide-react\";\n *\n * export function NavigationTabList() {\n * return (\n * <TabList aria-label=\"Account Tabs\">\n * <Tab id=\"home\" label=\"Home\" icon={Home} />\n * <Tab id=\"profile\" label=\"Profile\" icon={User} />\n * <Tab id=\"settings\" label=\"Settings\" icon={Settings} />\n * </TabList>\n * );\n * }\n * ```\n */\nexport const TabList = <T extends object>({\n className,\n ...props\n}: TabListProps<T>) => {\n return (\n <AriaTabList\n className={(renderProps) =>\n clsx(\n styles[\"tab-list\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;A,uDC8CaA,KAAU,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,aACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
|
package/dist/chunks/TabPanel
CHANGED
|
@@ -2,7 +2,7 @@ import { t as e } from "./compiler-runtime";
|
|
|
2
2
|
import t from "clsx";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
import { TabPanel as r } from "react-aria-components";
|
|
5
|
-
import '../assets/TabPanel.css'
|
|
5
|
+
import '../assets/TabPanel.css';// src/components/Tabs/TabPanel/tabPanel.module.css
|
|
6
6
|
var i = e(), a = { "tab-panel": "_tab-panel_1q4o7_2" }, o = (e) => {
|
|
7
7
|
let o = (0, i.c)(8), s, c;
|
|
8
8
|
o[0] === e ? (s = o[1], c = o[2]) : ({className: s, ...c} = e, o[0] = e, o[1] = s, o[2] = c);
|
|
@@ -14,7 +14,6 @@ var i = e(), a = { "tab-panel": "_tab-panel_1q4o7_2" }, o = (e) => {
|
|
|
14
14
|
...c
|
|
15
15
|
}), o[5] = c, o[6] = l, o[7] = u) : u = o[7], u;
|
|
16
16
|
};
|
|
17
|
-
//#endregion
|
|
18
17
|
export { o as t };
|
|
19
18
|
|
|
20
19
|
//# sourceMappingURL=TabPanel.map
|
package/dist/chunks/TabPanel.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel","names":["TabPanel","_c","clsx","styles","AriaTabPanel","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanel_module_default","TabPanel$1","$","className","props","t0","t1","renderProps","t2","TabPanel"],"sources":["../../src/components/Tabs/TabPanel/tabPanel.module.css","../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panel {\n transition: opacity var(--md-sys-motion-expressive-slow-effects)\n var(--md-sys-motion-expressive-slow-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-entering] {\n opacity: 0;\n }\n\n &[data-exiting] {\n display: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanel as AriaTabPanel } from \"react-aria-components\";\nimport styles from \"./tabPanel.module.css\";\n\n/**\n * Props for the {@link TabPanel} component.\n * Extends React Aria Components `TabPanel` props.\n */\nexport interface TabPanelProps\n extends React.ComponentPropsWithRef<typeof AriaTabPanel> {}\n\n/**\n * Content panel associated with a specific {@link Tab}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanel` with Material 3 styling and smooth\n * fade entrance animations when the tab becomes active.\n *\n * @example\n * ```tsx\n * import { TabPanel } from \"@adgytec/web-ui-components\";\n *\n * export function PanelExample() {\n * return (\n * <TabPanel id=\"profile\">\n * <h3>User Profile</h3>\n * <p>Manage user profile information here.</p>\n * </TabPanel>\n * );\n * }\n * ```\n */\nexport const TabPanel: React.FC<TabPanelProps> = ({ className, ...props }) => {\n return (\n <AriaTabPanel\n className={(renderProps) =>\n clsx(\n styles[\"tab-panel\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;wDCgCaA,KAAoC,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAAwB,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAAvB,eAAA,GAAAE,KAAAC,GAAuB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASxD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,cACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
|
|
1
|
+
{"version":3,"file":"TabPanel","names":["TabPanel","_c","clsx","styles","AriaTabPanel","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanel_module_default","TabPanel$1","$","className","props","t0","t1","renderProps","t2","TabPanel"],"sources":["../../src/components/Tabs/TabPanel/tabPanel.module.css","../../src/components/Tabs/TabPanel/TabPanel.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panel {\n transition: opacity var(--md-sys-motion-expressive-slow-effects)\n var(--md-sys-motion-expressive-slow-effects-duration);\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n\n &[data-entering] {\n opacity: 0;\n }\n\n &[data-exiting] {\n display: none;\n }\n }\n}\n","import clsx from \"clsx\";\nimport { TabPanel as AriaTabPanel } from \"react-aria-components\";\nimport styles from \"./tabPanel.module.css\";\n\n/**\n * Props for the {@link TabPanel} component.\n * Extends React Aria Components `TabPanel` props.\n */\nexport interface TabPanelProps\n extends React.ComponentPropsWithRef<typeof AriaTabPanel> {}\n\n/**\n * Content panel associated with a specific {@link Tab}, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanel` with Material 3 styling and smooth\n * fade entrance animations when the tab becomes active.\n *\n * @example\n * ```tsx\n * import { TabPanel } from \"@adgytec/web-ui-components\";\n *\n * export function PanelExample() {\n * return (\n * <TabPanel id=\"profile\">\n * <h3>User Profile</h3>\n * <p>Manage user profile information here.</p>\n * </TabPanel>\n * );\n * }\n * ```\n */\nexport const TabPanel: React.FC<TabPanelProps> = ({ className, ...props }) => {\n return (\n <AriaTabPanel\n className={(renderProps) =>\n clsx(\n styles[\"tab-panel\"],\n typeof className === \"function\"\n ? className(renderProps)\n : className\n )\n }\n {...props}\n />\n );\n};\n"],"mappings":";;;;;A,wDCgCaA,KAAoC,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAAwB,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAAvB,eAAA,GAAAE,KAAAC,GAAuB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IASxD,IAAAD,EAAA,MANM,KAAA,MACPR,EACIC,EAAO,cACP,OAAOQ,KAAc,aACfA,EAAUI,CACF,IAFdJ,CAGJ,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAE;CAGP,OAHON,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAPT,IAAA,kBAACV,GAAD;EACe,WAAAU;EAMN,GAEDF;CAAK,CAAA,GACX,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAE,KAAA,IAAAN,EAAA,IAVFM;AAUE"}
|
package/dist/chunks/TabPanels
CHANGED
|
@@ -2,7 +2,7 @@ import { t as e } from "./compiler-runtime";
|
|
|
2
2
|
import t from "clsx";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
import { TabPanels as r } from "react-aria-components";
|
|
5
|
-
import '../assets/TabPanels.css'
|
|
5
|
+
import '../assets/TabPanels.css';// src/components/Tabs/TabPanels/tabPanels.module.css
|
|
6
6
|
var i = e(), a = { "tab-panels": "_tab-panels_u5x73_2" }, o = (e) => {
|
|
7
7
|
let o = (0, i.c)(8), s, c;
|
|
8
8
|
o[0] === e ? (s = o[1], c = o[2]) : ({className: s, ...c} = e, o[0] = e, o[1] = s, o[2] = c);
|
|
@@ -15,7 +15,6 @@ var i = e(), a = { "tab-panels": "_tab-panels_u5x73_2" }, o = (e) => {
|
|
|
15
15
|
"data-tab-panels": !0
|
|
16
16
|
}), o[5] = c, o[6] = l, o[7] = u) : u = o[7], u;
|
|
17
17
|
};
|
|
18
|
-
//#endregion
|
|
19
18
|
export { o as t };
|
|
20
19
|
|
|
21
20
|
//# sourceMappingURL=TabPanels.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanels","names":["TabPanels","_c","clsx","styles","AriaTabPanels","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanels_module_default","TabPanels$1","$","className","props","t0","t1","t2","TabPanels"],"sources":["../../src/components/Tabs/TabPanels/tabPanels.module.css","../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panels {\n position: relative;\n\n height: var(--tab-panel-height);\n transition: height 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","import clsx from \"clsx\";\nimport { TabPanels as AriaTabPanels } from \"react-aria-components\";\nimport styles from \"./tabPanels.module.css\";\n\n/**\n * Props for the {@link TabPanels} component.\n * Extends React Aria Components `TabPanels` props.\n */\nexport interface TabPanelsProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabPanels<T>> {}\n\n/**\n * Container for {@link TabPanel} elements in a {@link Tabs} structure, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanels` and provides coordinated smooth height transitions\n * when switching between tab panels.\n *\n * @example\n * ```tsx\n * import { TabPanel, TabPanels } from \"@adgytec/web-ui-components\";\n *\n * export function PanelsExample() {\n * return (\n * <TabPanels>\n * <TabPanel id=\"account\">Account settings content</TabPanel>\n * <TabPanel id=\"security\">Security settings content</TabPanel>\n * </TabPanels>\n * );\n * }\n * ```\n */\nexport const TabPanels = <T extends object>({\n className,\n ...props\n}: TabPanelsProps<T>) => {\n return (\n <AriaTabPanels\n className={clsx(styles[\"tab-panels\"], className)}\n {...props}\n data-tab-panels={true}\n />\n );\n};\n"],"mappings":";;;;;0DCgCaA,KAAY,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IAGwC,IAAAD,EAAA,MAArC,IAAAR,EAAKC,EAAO,eAAeQ,CAAS,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAC;CAGlD,OAHkDL,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KADpD,IAAA,kBAACV,GAAD;EACe,WAAAU;EAAqC,GAC5CF;EACa,mBAAA;CAAI,CAAA,GACvB,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAC,KAAA,IAAAL,EAAA,IAJFK;AAIE"}
|
|
1
|
+
{"version":3,"file":"TabPanels","names":["TabPanels","_c","clsx","styles","AriaTabPanels","require_compiler_runtime","clsx$1","import_compiler_runtime","tabPanels_module_default","TabPanels$1","$","className","props","t0","t1","t2","TabPanels"],"sources":["../../src/components/Tabs/TabPanels/tabPanels.module.css","../../src/components/Tabs/TabPanels/TabPanels.tsx"],"sourcesContent":["@layer adgytec.comps {\n .tab-panels {\n position: relative;\n\n height: var(--tab-panel-height);\n transition: height 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","import clsx from \"clsx\";\nimport { TabPanels as AriaTabPanels } from \"react-aria-components\";\nimport styles from \"./tabPanels.module.css\";\n\n/**\n * Props for the {@link TabPanels} component.\n * Extends React Aria Components `TabPanels` props.\n */\nexport interface TabPanelsProps<T extends object = object>\n extends React.ComponentPropsWithRef<typeof AriaTabPanels<T>> {}\n\n/**\n * Container for {@link TabPanel} elements in a {@link Tabs} structure, conforming to\n * [Material 3 Tabs](https://m3.material.io/components/tabs/overview).\n *\n * Extends React Aria Components `TabPanels` and provides coordinated smooth height transitions\n * when switching between tab panels.\n *\n * @example\n * ```tsx\n * import { TabPanel, TabPanels } from \"@adgytec/web-ui-components\";\n *\n * export function PanelsExample() {\n * return (\n * <TabPanels>\n * <TabPanel id=\"account\">Account settings content</TabPanel>\n * <TabPanel id=\"security\">Security settings content</TabPanel>\n * </TabPanels>\n * );\n * }\n * ```\n */\nexport const TabPanels = <T extends object>({\n className,\n ...props\n}: TabPanelsProps<T>) => {\n return (\n <AriaTabPanels\n className={clsx(styles[\"tab-panels\"], className)}\n {...props}\n data-tab-panels={true}\n />\n );\n};\n"],"mappings":";;;;;A,0DCgCaA,KAAY,MAAA;CAAA,IAAAU,KAAA,GAAAT,EAAAA,EAAAA,CAAA,CAAA,GAAAU,GAAAC;CAAA,AAAAF,EAAA,OAAAG,KAGL,IAAAH,EAAA,IAAA,IAAAA,EAAA,OAHwB,eAAA,GAAAE,KAAAC,GAGxB,EAAA,KAAAA,GAAA,EAAA,KAAAF,GAAA,EAAA,KAAAC;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAC,IAGwC,IAAAD,EAAA,MAArC,IAAAR,EAAKC,EAAO,eAAeQ,CAAS,GAAC,EAAA,KAAAA,GAAA,EAAA,KAAAG;CAAA,IAAAC;CAGlD,OAHkDL,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KADpD,IAAA,kBAACV,GAAD;EACe,WAAAU;EAAqC,GAC5CF;EACa,mBAAA;CAAI,CAAA,GACvB,EAAA,KAAAA,GAAA,EAAA,KAAAE,GAAA,EAAA,KAAAC,KAAA,IAAAL,EAAA,IAJFK;AAIE"}
|
package/dist/chunks/Tabs
CHANGED
|
@@ -2,7 +2,7 @@ import { t as e } from "./compiler-runtime";
|
|
|
2
2
|
import t from "clsx";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
import { Tabs as r } from "react-aria-components";
|
|
5
|
-
import '../assets/Tabs.css'
|
|
5
|
+
import '../assets/Tabs.css';// src/components/Tabs/Tabs/tabs.module.css
|
|
6
6
|
var i = e(), a = { tabs: "_tabs_1mme9_2" }, o = (e) => {
|
|
7
7
|
let o = (0, i.c)(8), s, c;
|
|
8
8
|
o[0] === e ? (s = o[1], c = o[2]) : ({className: s, ...c} = e, o[0] = e, o[1] = s, o[2] = c);
|
|
@@ -14,7 +14,6 @@ var i = e(), a = { tabs: "_tabs_1mme9_2" }, o = (e) => {
|
|
|
14
14
|
...c
|
|
15
15
|
}), o[5] = c, o[6] = l, o[7] = u) : u = o[7], u;
|
|
16
16
|
};
|
|
17
|
-
//#endregion
|
|
18
17
|
export { o as t };
|
|
19
18
|
|
|
20
19
|
//# sourceMappingURL=Tabs.map
|