@gnome-ui/react 1.45.1 → 1.45.2
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/dist/components/AboutDialog/AboutDialog.cjs +1 -1
- package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -1
- package/dist/components/AboutDialog/AboutDialog.d.ts +1 -1
- package/dist/components/AboutDialog/AboutDialog.js +2 -3
- package/dist/components/AboutDialog/AboutDialog.js.map +1 -1
- package/dist/components/AboutDialog/AboutDialog.module.css.cjs +1 -1
- package/dist/components/AboutDialog/AboutDialog.module.css.js +28 -29
- package/dist/components/AboutDialog.cjs +1 -1
- package/dist/components/ActionRow/ActionRow.cjs +1 -1
- package/dist/components/ActionRow/ActionRow.cjs.map +1 -1
- package/dist/components/ActionRow/ActionRow.d.ts +1 -1
- package/dist/components/ActionRow/ActionRow.js +2 -2
- package/dist/components/ActionRow/ActionRow.js.map +1 -1
- package/dist/components/ActionRow.cjs +1 -1
- package/dist/components/Avatar/Avatar.cjs +1 -1
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +2 -2
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar.cjs +1 -1
- package/dist/components/AvatarRotator/AvatarRotator.cjs +1 -1
- package/dist/components/AvatarRotator/AvatarRotator.cjs.map +1 -1
- package/dist/components/AvatarRotator/AvatarRotator.d.ts +1 -1
- package/dist/components/AvatarRotator/AvatarRotator.js +2 -2
- package/dist/components/AvatarRotator/AvatarRotator.js.map +1 -1
- package/dist/components/AvatarRotator.cjs +1 -1
- package/dist/components/Badge/Badge.cjs +1 -1
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Badge/Badge.js +2 -2
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge.cjs +1 -1
- package/dist/components/Banner/Banner.cjs +1 -1
- package/dist/components/Banner/Banner.cjs.map +1 -1
- package/dist/components/Banner/Banner.d.ts +1 -1
- package/dist/components/Banner/Banner.js +34 -36
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/Banner.module.css.cjs +1 -1
- package/dist/components/Banner/Banner.module.css.js +11 -12
- package/dist/components/Banner.cjs +1 -1
- package/dist/components/Bin/Bin.cjs +1 -1
- package/dist/components/Bin/Bin.cjs.map +1 -1
- package/dist/components/Bin/Bin.d.ts +1 -1
- package/dist/components/Bin/Bin.js +4 -6
- package/dist/components/Bin/Bin.js.map +1 -1
- package/dist/components/Bin.cjs +1 -1
- package/dist/components/Blockquote/Blockquote.cjs +1 -1
- package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
- package/dist/components/Blockquote/Blockquote.d.ts +1 -1
- package/dist/components/Blockquote/Blockquote.js +24 -26
- package/dist/components/Blockquote/Blockquote.js.map +1 -1
- package/dist/components/Blockquote.cjs +1 -1
- package/dist/components/BottomSheet/BottomSheet.cjs +1 -1
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.d.ts +1 -1
- package/dist/components/BottomSheet/BottomSheet.js +2 -3
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs +1 -1
- package/dist/components/BottomSheet/BottomSheet.module.css.js +8 -9
- package/dist/components/BottomSheet.cjs +1 -1
- package/dist/components/Box/Box.cjs +1 -1
- package/dist/components/Box/Box.cjs.map +1 -1
- package/dist/components/Box/Box.d.ts +1 -1
- package/dist/components/Box/Box.js +2 -2
- package/dist/components/Box/Box.js.map +1 -1
- package/dist/components/Box.cjs +1 -1
- package/dist/components/BoxedList/BoxedList.cjs +1 -1
- package/dist/components/BoxedList/BoxedList.cjs.map +1 -1
- package/dist/components/BoxedList/BoxedList.d.ts +1 -1
- package/dist/components/BoxedList/BoxedList.js +2 -2
- package/dist/components/BoxedList/BoxedList.js.map +1 -1
- package/dist/components/BoxedList.cjs +1 -1
- package/dist/components/BreakpointBin/BreakpointBin.cjs +1 -1
- package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -1
- package/dist/components/BreakpointBin/BreakpointBin.d.ts +1 -1
- package/dist/components/BreakpointBin/BreakpointBin.js +2 -2
- package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -1
- package/dist/components/BreakpointBin.cjs +1 -1
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button.cjs +1 -1
- package/dist/components/ButtonContent/ButtonContent.cjs +1 -1
- package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -1
- package/dist/components/ButtonContent/ButtonContent.d.ts +1 -1
- package/dist/components/ButtonContent/ButtonContent.js +24 -26
- package/dist/components/ButtonContent/ButtonContent.js.map +1 -1
- package/dist/components/ButtonContent.cjs +1 -1
- package/dist/components/ButtonRow/ButtonRow.cjs +1 -1
- package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -1
- package/dist/components/ButtonRow/ButtonRow.d.ts +1 -1
- package/dist/components/ButtonRow/ButtonRow.js +22 -24
- package/dist/components/ButtonRow/ButtonRow.js.map +1 -1
- package/dist/components/ButtonRow.cjs +1 -1
- package/dist/components/Card/Card.cjs +1 -1
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +10 -12
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.module.css.cjs +1 -1
- package/dist/components/Card/Card.module.css.js +4 -5
- package/dist/components/Card.cjs +1 -1
- package/dist/components/Carousel/Carousel.cjs +1 -1
- package/dist/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/components/Carousel/Carousel.d.ts +3 -3
- package/dist/components/Carousel/Carousel.js +28 -34
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel.cjs +1 -1
- package/dist/components/CheckRow/CheckRow.cjs +1 -1
- package/dist/components/CheckRow/CheckRow.cjs.map +1 -1
- package/dist/components/CheckRow/CheckRow.d.ts +1 -1
- package/dist/components/CheckRow/CheckRow.js +7 -7
- package/dist/components/CheckRow/CheckRow.js.map +1 -1
- package/dist/components/CheckRow.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +2 -2
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox.cjs +1 -1
- package/dist/components/Chip/Chip.cjs +1 -1
- package/dist/components/Chip/Chip.cjs.map +1 -1
- package/dist/components/Chip/Chip.d.ts +1 -1
- package/dist/components/Chip/Chip.js +2 -2
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/Chip.cjs +1 -1
- package/dist/components/Clamp/Clamp.cjs +1 -1
- package/dist/components/Clamp/Clamp.cjs.map +1 -1
- package/dist/components/Clamp/Clamp.d.ts +1 -1
- package/dist/components/Clamp/Clamp.js +9 -11
- package/dist/components/Clamp/Clamp.js.map +1 -1
- package/dist/components/Clamp.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/components/ColorPicker/ColorPicker.d.ts +2 -2
- package/dist/components/ColorPicker/ColorPicker.js +33 -37
- package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/ColorPicker/ColorPicker.module.css.cjs +1 -1
- package/dist/components/ColorPicker/ColorPicker.module.css.js +9 -10
- package/dist/components/ColorPicker.cjs +1 -1
- package/dist/components/ColumnView/ColumnView.cjs +1 -1
- package/dist/components/ColumnView/ColumnView.cjs.map +1 -1
- package/dist/components/ColumnView/ColumnView.d.ts +1 -1
- package/dist/components/ColumnView/ColumnView.js +24 -28
- package/dist/components/ColumnView/ColumnView.js.map +1 -1
- package/dist/components/ColumnView.cjs +1 -1
- package/dist/components/ComboRow/ComboRow.cjs +1 -1
- package/dist/components/ComboRow/ComboRow.cjs.map +1 -1
- package/dist/components/ComboRow/ComboRow.d.ts +1 -1
- package/dist/components/ComboRow/ComboRow.js +2 -2
- package/dist/components/ComboRow/ComboRow.js.map +1 -1
- package/dist/components/ComboRow/ComboRow.module.css.cjs +1 -1
- package/dist/components/ComboRow/ComboRow.module.css.js +24 -25
- package/dist/components/ComboRow.cjs +1 -1
- package/dist/components/ContributionGraph/ContributionGraph.cjs +1 -1
- package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -1
- package/dist/components/ContributionGraph/ContributionGraph.d.ts +1 -1
- package/dist/components/ContributionGraph/ContributionGraph.js +2 -2
- package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -1
- package/dist/components/ContributionGraph.cjs +1 -1
- package/dist/components/CountDownTimer/CountDownTimer.cjs +1 -1
- package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -1
- package/dist/components/CountDownTimer/CountDownTimer.d.ts +1 -1
- package/dist/components/CountDownTimer/CountDownTimer.js +2 -2
- package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -1
- package/dist/components/CountDownTimer.cjs +1 -1
- package/dist/components/Dialog/Dialog.cjs +1 -1
- package/dist/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/components/Dialog/Dialog.d.ts +1 -1
- package/dist/components/Dialog/Dialog.js +2 -2
- package/dist/components/Dialog/Dialog.js.map +1 -1
- package/dist/components/Dialog/Dialog.module.css.cjs +1 -1
- package/dist/components/Dialog/Dialog.module.css.js +8 -9
- package/dist/components/Dialog/dialogUtils.cjs +1 -1
- package/dist/components/Dialog/dialogUtils.cjs.map +1 -1
- package/dist/components/Dialog/dialogUtils.js.map +1 -1
- package/dist/components/Dialog.cjs +1 -1
- package/dist/components/Drawer/Drawer.cjs +1 -1
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +1 -1
- package/dist/components/Drawer/Drawer.js +2 -2
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/Drawer.module.css.cjs +1 -1
- package/dist/components/Drawer/Drawer.module.css.js +11 -12
- package/dist/components/Drawer.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/Dropdown/Dropdown.js +2 -2
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.module.css.cjs +1 -1
- package/dist/components/Dropdown/Dropdown.module.css.js +20 -21
- package/dist/components/Dropdown.cjs +1 -1
- package/dist/components/EntryRow/EntryRow.cjs +1 -1
- package/dist/components/EntryRow/EntryRow.cjs.map +1 -1
- package/dist/components/EntryRow/EntryRow.d.ts +1 -1
- package/dist/components/EntryRow/EntryRow.js +2 -2
- package/dist/components/EntryRow/EntryRow.js.map +1 -1
- package/dist/components/EntryRow.cjs +1 -1
- package/dist/components/ExpanderRow/ExpanderRow.cjs +1 -1
- package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -1
- package/dist/components/ExpanderRow/ExpanderRow.d.ts +1 -1
- package/dist/components/ExpanderRow/ExpanderRow.js +2 -2
- package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -1
- package/dist/components/ExpanderRow.cjs +1 -1
- package/dist/components/Footer/Footer.cjs +1 -1
- package/dist/components/Footer/Footer.cjs.map +1 -1
- package/dist/components/Footer/Footer.d.ts +1 -1
- package/dist/components/Footer/Footer.js +22 -24
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer.cjs +1 -1
- package/dist/components/Frame/Frame.cjs +1 -1
- package/dist/components/Frame/Frame.cjs.map +1 -1
- package/dist/components/Frame/Frame.d.ts +1 -1
- package/dist/components/Frame/Frame.js +5 -7
- package/dist/components/Frame/Frame.js.map +1 -1
- package/dist/components/Frame.cjs +1 -1
- package/dist/components/GnomeProvider/GnomeContext.cjs +1 -1
- package/dist/components/GnomeProvider/GnomeContext.cjs.map +1 -1
- package/dist/components/GnomeProvider/GnomeContext.js.map +1 -1
- package/dist/components/GnomeProvider/GnomeProvider.cjs +1 -1
- package/dist/components/GnomeProvider/GnomeProvider.cjs.map +1 -1
- package/dist/components/GnomeProvider/GnomeProvider.d.ts +1 -1
- package/dist/components/GnomeProvider/GnomeProvider.js +2 -2
- package/dist/components/GnomeProvider/GnomeProvider.js.map +1 -1
- package/dist/components/HeaderBar/HeaderBar.cjs +1 -1
- package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -1
- package/dist/components/HeaderBar/HeaderBar.d.ts +1 -1
- package/dist/components/HeaderBar/HeaderBar.js +26 -28
- package/dist/components/HeaderBar/HeaderBar.js.map +1 -1
- package/dist/components/HeaderBar.cjs +1 -1
- package/dist/components/Icon/Icon.cjs +1 -1
- package/dist/components/Icon/Icon.cjs.map +1 -1
- package/dist/components/Icon/Icon.d.ts +1 -1
- package/dist/components/Icon/Icon.js +2 -2
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon.cjs +1 -1
- package/dist/components/IconButton/IconButton.cjs +1 -1
- package/dist/components/IconButton/IconButton.cjs.map +1 -1
- package/dist/components/IconButton/IconButton.js +4 -4
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/IconButton.cjs +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.d.ts +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +2 -2
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.d.ts +1 -1
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js +2 -2
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -1
- package/dist/components/InlineViewSwitcher.cjs +1 -1
- package/dist/components/Link/Link.cjs +1 -1
- package/dist/components/Link/Link.cjs.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.js +2 -2
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/Link.cjs +1 -1
- package/dist/components/LinkedGroup/LinkedGroup.cjs +1 -1
- package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -1
- package/dist/components/LinkedGroup/LinkedGroup.d.ts +1 -1
- package/dist/components/LinkedGroup/LinkedGroup.js +9 -11
- package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -1
- package/dist/components/LinkedGroup.cjs +1 -1
- package/dist/components/NavigationSplitView/NavigationSplitView.cjs +1 -1
- package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -1
- package/dist/components/NavigationSplitView/NavigationSplitView.d.ts +1 -1
- package/dist/components/NavigationSplitView/NavigationSplitView.js +2 -2
- package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -1
- package/dist/components/NavigationSplitView.cjs +1 -1
- package/dist/components/NavigationView/NavigationView.cjs +1 -1
- package/dist/components/NavigationView/NavigationView.cjs.map +1 -1
- package/dist/components/NavigationView/NavigationView.d.ts +2 -2
- package/dist/components/NavigationView/NavigationView.js +3 -4
- package/dist/components/NavigationView/NavigationView.js.map +1 -1
- package/dist/components/NavigationView/NavigationView.module.css.cjs +1 -1
- package/dist/components/NavigationView/NavigationView.module.css.js +9 -10
- package/dist/components/NavigationView.cjs +1 -1
- package/dist/components/OverlaySplitView/OverlaySplitView.cjs +1 -1
- package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -1
- package/dist/components/OverlaySplitView/OverlaySplitView.d.ts +1 -1
- package/dist/components/OverlaySplitView/OverlaySplitView.js +2 -2
- package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -1
- package/dist/components/OverlaySplitView.cjs +1 -1
- package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs +1 -1
- package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -1
- package/dist/components/PasswordEntryRow/PasswordEntryRow.d.ts +1 -1
- package/dist/components/PasswordEntryRow/PasswordEntryRow.js +2 -2
- package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -1
- package/dist/components/PasswordEntryRow.cjs +1 -1
- package/dist/components/PathBar/PathBar.cjs +1 -1
- package/dist/components/PathBar/PathBar.cjs.map +1 -1
- package/dist/components/PathBar/PathBar.d.ts +1 -1
- package/dist/components/PathBar/PathBar.js +48 -50
- package/dist/components/PathBar/PathBar.js.map +1 -1
- package/dist/components/PathBar.cjs +1 -1
- package/dist/components/Popover/Popover.cjs +1 -1
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.js +5 -5
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover.cjs +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.cjs +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.d.ts +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.js +2 -2
- package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +1 -1
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +18 -19
- package/dist/components/PreferencesDialog.cjs +1 -1
- package/dist/components/PreferencesGroup/PreferencesGroup.cjs +1 -1
- package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -1
- package/dist/components/PreferencesGroup/PreferencesGroup.d.ts +1 -1
- package/dist/components/PreferencesGroup/PreferencesGroup.js +2 -2
- package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -1
- package/dist/components/PreferencesGroup.cjs +1 -1
- package/dist/components/PreferencesPage/PreferencesPage.cjs +1 -1
- package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -1
- package/dist/components/PreferencesPage/PreferencesPage.d.ts +1 -1
- package/dist/components/PreferencesPage/PreferencesPage.js +9 -11
- package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -1
- package/dist/components/PreferencesPage.cjs +1 -1
- package/dist/components/ProgressBar/ProgressBar.cjs +1 -1
- package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +2 -2
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressBar.cjs +1 -1
- package/dist/components/RadioButton/RadioButton.cjs +1 -1
- package/dist/components/RadioButton/RadioButton.cjs.map +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.js +5 -7
- package/dist/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/components/RadioButton.cjs +1 -1
- package/dist/components/SearchBar/SearchBar.cjs +1 -1
- package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
- package/dist/components/SearchBar/SearchBar.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.js +2 -2
- package/dist/components/SearchBar/SearchBar.js.map +1 -1
- package/dist/components/SearchBar.cjs +1 -1
- package/dist/components/SegmentedBar/SegmentedBar.cjs +1 -1
- package/dist/components/SegmentedBar/SegmentedBar.cjs.map +1 -1
- package/dist/components/SegmentedBar/SegmentedBar.js.map +1 -1
- package/dist/components/SegmentedBar.cjs +1 -1
- package/dist/components/Separator/Separator.cjs +1 -1
- package/dist/components/Separator/Separator.cjs.map +1 -1
- package/dist/components/Separator/Separator.d.ts +1 -1
- package/dist/components/Separator/Separator.js +2 -2
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/Separator.cjs +1 -1
- package/dist/components/ShortcutLabel/ShortcutLabel.cjs +1 -1
- package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -1
- package/dist/components/ShortcutLabel/ShortcutLabel.d.ts +1 -1
- package/dist/components/ShortcutLabel/ShortcutLabel.js +2 -3
- package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -1
- package/dist/components/ShortcutLabel.cjs +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.d.ts +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.js +2 -3
- package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +1 -1
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +21 -22
- package/dist/components/ShortcutsDialog.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/components/Sidebar/Sidebar.js +2 -3
- package/dist/components/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.module.css.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.module.css.js +33 -34
- package/dist/components/Sidebar/SidebarItem.cjs +1 -1
- package/dist/components/Sidebar/SidebarItem.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarItem.d.ts +1 -1
- package/dist/components/Sidebar/SidebarItem.js +16 -16
- package/dist/components/Sidebar/SidebarItem.js.map +1 -1
- package/dist/components/Sidebar/SidebarSection.cjs +1 -1
- package/dist/components/Sidebar/SidebarSection.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarSection.js.map +1 -1
- package/dist/components/Sidebar.cjs +1 -1
- package/dist/components/Skeleton/Skeleton.cjs +1 -1
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.js +9 -10
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Skeleton.cjs +1 -1
- package/dist/components/Slider/Slider.cjs +1 -1
- package/dist/components/Slider/Slider.cjs.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider.cjs +1 -1
- package/dist/components/SpinButton/SpinButton.cjs +1 -1
- package/dist/components/SpinButton/SpinButton.cjs.map +1 -1
- package/dist/components/SpinButton/SpinButton.d.ts +1 -1
- package/dist/components/SpinButton/SpinButton.js +2 -2
- package/dist/components/SpinButton/SpinButton.js.map +1 -1
- package/dist/components/SpinButton.cjs +1 -1
- package/dist/components/SpinRow/SpinRow.cjs +1 -1
- package/dist/components/SpinRow/SpinRow.cjs.map +1 -1
- package/dist/components/SpinRow/SpinRow.d.ts +1 -1
- package/dist/components/SpinRow/SpinRow.js +2 -2
- package/dist/components/SpinRow/SpinRow.js.map +1 -1
- package/dist/components/SpinRow.cjs +1 -1
- package/dist/components/Spinner/Spinner.cjs +1 -1
- package/dist/components/Spinner/Spinner.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +1 -1
- package/dist/components/Spinner/Spinner.js +2 -2
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner.cjs +1 -1
- package/dist/components/SplitButton/SplitButton.cjs +1 -1
- package/dist/components/SplitButton/SplitButton.cjs.map +1 -1
- package/dist/components/SplitButton/SplitButton.d.ts +1 -1
- package/dist/components/SplitButton/SplitButton.js +2 -2
- package/dist/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/components/SplitButton.cjs +1 -1
- package/dist/components/StatusBadge/StatusBadge.cjs +1 -1
- package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.d.ts +1 -1
- package/dist/components/StatusBadge/StatusBadge.js +9 -11
- package/dist/components/StatusBadge/StatusBadge.js.map +1 -1
- package/dist/components/StatusBadge.cjs +1 -1
- package/dist/components/StatusPage/StatusPage.cjs +1 -1
- package/dist/components/StatusPage/StatusPage.cjs.map +1 -1
- package/dist/components/StatusPage/StatusPage.d.ts +1 -1
- package/dist/components/StatusPage/StatusPage.js +2 -2
- package/dist/components/StatusPage/StatusPage.js.map +1 -1
- package/dist/components/StatusPage.cjs +1 -1
- package/dist/components/Switch/Switch.cjs +1 -1
- package/dist/components/Switch/Switch.cjs.map +1 -1
- package/dist/components/Switch/Switch.d.ts +1 -1
- package/dist/components/Switch/Switch.js +6 -8
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Switch.cjs +1 -1
- package/dist/components/SwitchRow/SwitchRow.cjs +1 -1
- package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -1
- package/dist/components/SwitchRow/SwitchRow.d.ts +1 -1
- package/dist/components/SwitchRow/SwitchRow.js +7 -7
- package/dist/components/SwitchRow/SwitchRow.js.map +1 -1
- package/dist/components/SwitchRow.cjs +1 -1
- package/dist/components/Tabs/TabBar.cjs +1 -1
- package/dist/components/Tabs/TabBar.cjs.map +1 -1
- package/dist/components/Tabs/TabBar.d.ts +1 -1
- package/dist/components/Tabs/TabBar.js +2 -2
- package/dist/components/Tabs/TabBar.js.map +1 -1
- package/dist/components/Tabs/TabItem.cjs +1 -1
- package/dist/components/Tabs/TabItem.cjs.map +1 -1
- package/dist/components/Tabs/TabItem.js.map +1 -1
- package/dist/components/Tabs/TabPanel.cjs +1 -1
- package/dist/components/Tabs/TabPanel.cjs.map +1 -1
- package/dist/components/Tabs/TabPanel.d.ts +1 -1
- package/dist/components/Tabs/TabPanel.js +8 -10
- package/dist/components/Tabs/TabPanel.js.map +1 -1
- package/dist/components/Tabs.cjs +1 -1
- package/dist/components/TerminalView/TerminalView.cjs +1 -1
- package/dist/components/TerminalView/TerminalView.cjs.map +1 -1
- package/dist/components/TerminalView/TerminalView.d.ts +1 -1
- package/dist/components/TerminalView/TerminalView.js +2 -2
- package/dist/components/TerminalView/TerminalView.js.map +1 -1
- package/dist/components/TerminalView.cjs +1 -1
- package/dist/components/Text/Text.cjs +1 -1
- package/dist/components/Text/Text.cjs.map +1 -1
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/Text/Text.js +10 -13
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/Text/Text.module.css.cjs +1 -1
- package/dist/components/Text/Text.module.css.js +9 -10
- package/dist/components/Text.cjs +1 -1
- package/dist/components/TextField/TextField.cjs +1 -1
- package/dist/components/TextField/TextField.cjs.map +1 -1
- package/dist/components/TextField/TextField.d.ts +1 -1
- package/dist/components/TextField/TextField.js +2 -2
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField.cjs +1 -1
- package/dist/components/Timeline/Timeline.cjs +1 -1
- package/dist/components/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.d.ts +1 -1
- package/dist/components/Timeline/Timeline.js +2 -2
- package/dist/components/Timeline/Timeline.js.map +1 -1
- package/dist/components/Timeline.cjs +1 -1
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.js +2 -2
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.module.css.cjs +1 -1
- package/dist/components/Toast/Toast.module.css.js +10 -11
- package/dist/components/Toast/Toaster.cjs +1 -1
- package/dist/components/Toast/Toaster.cjs.map +1 -1
- package/dist/components/Toast/Toaster.d.ts +1 -1
- package/dist/components/Toast/Toaster.js +2 -2
- package/dist/components/Toast/Toaster.js.map +1 -1
- package/dist/components/Toast.cjs +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.cjs +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
- package/dist/components/ToggleGroup.cjs +1 -1
- package/dist/components/Toolbar/Spacer.cjs +1 -1
- package/dist/components/Toolbar/Spacer.cjs.map +1 -1
- package/dist/components/Toolbar/Spacer.d.ts +1 -1
- package/dist/components/Toolbar/Spacer.js +5 -7
- package/dist/components/Toolbar/Spacer.js.map +1 -1
- package/dist/components/Toolbar/Toolbar.cjs +1 -1
- package/dist/components/Toolbar/Toolbar.cjs.map +1 -1
- package/dist/components/Toolbar/Toolbar.d.ts +1 -1
- package/dist/components/Toolbar/Toolbar.js +5 -7
- package/dist/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/components/Toolbar.cjs +1 -1
- package/dist/components/ToolbarView/ToolbarView.cjs +1 -1
- package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -1
- package/dist/components/ToolbarView/ToolbarView.d.ts +1 -1
- package/dist/components/ToolbarView/ToolbarView.js +18 -20
- package/dist/components/ToolbarView/ToolbarView.js.map +1 -1
- package/dist/components/ToolbarView.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip.cjs +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcher.cjs +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcher.d.ts +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcher.js +2 -2
- package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcherItem.d.ts +1 -1
- package/dist/components/ViewSwitcher/ViewSwitcherItem.js +24 -26
- package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -1
- package/dist/components/ViewSwitcher.cjs +1 -1
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs +1 -1
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -1
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.d.ts +1 -1
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js +7 -9
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -1
- package/dist/components/ViewSwitcherBar.cjs +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.d.ts +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +2 -2
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.d.ts +1 -1
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js +2 -2
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -1
- package/dist/components/ViewSwitcherSidebar.cjs +1 -1
- package/dist/components/WindowTitle/WindowTitle.cjs +1 -1
- package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -1
- package/dist/components/WindowTitle/WindowTitle.d.ts +1 -1
- package/dist/components/WindowTitle/WindowTitle.js +11 -13
- package/dist/components/WindowTitle/WindowTitle.js.map +1 -1
- package/dist/components/WindowTitle.cjs +1 -1
- package/dist/components/WrapBox/WrapBox.cjs +1 -1
- package/dist/components/WrapBox/WrapBox.cjs.map +1 -1
- package/dist/components/WrapBox/WrapBox.d.ts +1 -1
- package/dist/components/WrapBox/WrapBox.js +5 -5
- package/dist/components/WrapBox/WrapBox.js.map +1 -1
- package/dist/components/WrapBox.cjs +1 -1
- package/dist/hooks/useBreakpoint.cjs +1 -1
- package/dist/hooks/useBreakpoint.cjs.map +1 -1
- package/dist/hooks/useBreakpoint.js.map +1 -1
- package/dist/hooks.cjs +1 -1
- package/dist/index.cjs +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./Slider.module.css.cjs");let t=require("react"),n=require("react/jsx-runtime");function r(e,t,n){return Math.min(n,Math.max(t,e))}function i(e,t,n,r){return parseFloat((Math.round((e-t)/n)*n+t).toFixed(r))}function a(e){let t=e.toString(),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}var o=({value:o,onChange:s,min:c=0,max:l=100,step:u=1,disabled:d=!1,marks:f,className:p,"aria-label":m,"aria-labelledby":h,"aria-describedby":g,..._})=>{let v=(0,t.useRef)(null),y=a(u),b=(r(o,c,l)-c)/(l-c)*100,x=(0,t.useCallback)(e=>{if(!v.current)return;let{left:t,width:n}=v.current.getBoundingClientRect();s(r(i((e-t)/n*(l-c)+c,c,u,y),c,l))},[c,l,u,y,s]),S=(0,t.useCallback)(e=>{d||(e.currentTarget.setPointerCapture(e.pointerId),x(e.clientX))},[d,x]),C=(0,t.useCallback)(e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&x(e.clientX)},[x]),w=(0,t.useCallback)(e=>{let t=t=>{e.preventDefault(),s(r(i(t,c,u,y),c,l))};switch(e.key){case`ArrowRight`:case`ArrowUp`:t(o+u);break;case`ArrowLeft`:case`ArrowDown`:t(o-u);break;case`PageUp`:t(o+u*10);break;case`PageDown`:t(o-u*10);break;case`Home`:t(c);break;case`End`:t(l);break}},[o,u,c,l,y,s]),T=f&&f.length>0,E=T&&f.some(e=>e.label);return(0,n.jsxs)(`div`,{className:[e.default.wrapper,E?e.default.hasLabels:null,p].filter(Boolean).join(` `),..._,children:[(0,n.jsxs)(`div`,{ref:v,role:`slider`,tabIndex:d?-1:0,"aria-valuemin":c,"aria-valuemax":l,"aria-valuenow":o,"aria-label":m,"aria-labelledby":h,"aria-describedby":g,"aria-disabled":d||void 0,className:[e.default.track,d?e.default.disabled:null].filter(Boolean).join(` `),onPointerDown:S,onPointerMove:C,onKeyDown:d?void 0:w,children:[(0,n.jsx)(`div`,{className:e.default.fill,style:{width:`${b}%`}}),(0,n.jsx)(`div`,{className:e.default.thumb,style:{left:`${b}%`},"aria-hidden":`true`}),T&&f.map(t=>{let i=(r(t.value,c,l)-c)/(l-c)*100;return(0,n.jsx)(`div`,{className:e.default.tick,style:{left:`${i}%`},"aria-hidden":`true`},t.value)})]}),E&&(0,n.jsx)(`div`,{className:e.default.labels,"aria-hidden":`true`,children:f.map(t=>{let i=(r(t.value,c,l)-c)/(l-c)*100;return(0,n.jsx)(`span`,{className:e.default.markLabel,style:{left:`${i}%`},children:t.label},t.value)})})]})};exports.Slider=o;
|
|
2
2
|
//# sourceMappingURL=Slider.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.cjs","names":[],"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type PointerEvent,\n useCallback,\n useRef,\n} from 'react';\n\nimport styles from './Slider.module.css';\n\nexport interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. Must be between `min` and `max`. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum value. Defaults to `0`. */\n min?: number;\n /** Maximum value. Defaults to `100`. */\n max?: number;\n /**\n * Granularity of each step.\n * - Arrow keys move by one step.\n * - Page Up/Down move by 10 steps.\n * Defaults to `1`.\n */\n step?: number;\n /** Disables the control. */\n disabled?: boolean;\n /**\n * Marks to display along the track.\n * Each mark can have an optional label rendered below the track.\n */\n marks?: Array<{ value: number; label?: string }>;\n /** Accessible label. Required when no visible `<label>` is present. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n /** `id` of an element that describes the current value (e.g. a live region). */\n 'aria-describedby'?: string;\n}\n\nfunction clamp(v: number, min: number, max: number) {\n return Math.min(max, Math.max(min, v));\n}\n\nfunction snapToStep(v: number, min: number, step: number, decimals: number) {\n return parseFloat((Math.round((v - min) / step) * step + min).toFixed(decimals));\n}\n\nfunction countDecimals(n: number) {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\n/**\n * Draggable range slider following the Adwaita `GtkScale` pattern.\n *\n * - Pointer (mouse / touch / pen) drag to set value continuously.\n * - Keyboard: ← / → move by one step; Page Up/Down by 10 steps; Home/End jump to bounds.\n * - Optional tick marks with labels.\n * - Fills the track from the left up to the thumb (accent colour).\n *\n * @see https://developer.gnome.org/hig/patterns/controls/sliders.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"Slider.cjs","names":[],"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type PointerEvent,\n useCallback,\n useRef,\n} from 'react';\n\nimport styles from './Slider.module.css';\n\nexport interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. Must be between `min` and `max`. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum value. Defaults to `0`. */\n min?: number;\n /** Maximum value. Defaults to `100`. */\n max?: number;\n /**\n * Granularity of each step.\n * - Arrow keys move by one step.\n * - Page Up/Down move by 10 steps.\n * Defaults to `1`.\n */\n step?: number;\n /** Disables the control. */\n disabled?: boolean;\n /**\n * Marks to display along the track.\n * Each mark can have an optional label rendered below the track.\n */\n marks?: Array<{ value: number; label?: string }>;\n /** Accessible label. Required when no visible `<label>` is present. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n /** `id` of an element that describes the current value (e.g. a live region). */\n 'aria-describedby'?: string;\n}\n\nfunction clamp(v: number, min: number, max: number) {\n return Math.min(max, Math.max(min, v));\n}\n\nfunction snapToStep(v: number, min: number, step: number, decimals: number) {\n return parseFloat((Math.round((v - min) / step) * step + min).toFixed(decimals));\n}\n\nfunction countDecimals(n: number) {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\n/**\n * Draggable range slider following the Adwaita `GtkScale` pattern.\n *\n * - Pointer (mouse / touch / pen) drag to set value continuously.\n * - Keyboard: ← / → move by one step; Page Up/Down by 10 steps; Home/End jump to bounds.\n * - Optional tick marks with labels.\n * - Fills the track from the left up to the thumb (accent colour).\n *\n * @see https://developer.gnome.org/hig/patterns/controls/sliders.html\n */\nexport const Slider = ({\n value,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n disabled = false,\n marks,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: SliderProps) => {\n const trackRef = useRef<HTMLDivElement>(null);\n const dp = countDecimals(step);\n\n const pct = ((clamp(value, min, max) - min) / (max - min)) * 100;\n\n const setFromX = useCallback(\n (clientX: number) => {\n if (!trackRef.current) {\n return;\n }\n\n const { left, width } = trackRef.current.getBoundingClientRect();\n const raw = ((clientX - left) / width) * (max - min) + min;\n\n onChange(clamp(snapToStep(raw, min, step, dp), min, max));\n },\n [min, max, step, dp, onChange],\n );\n\n // Pointer drag — capture on the thumb, move anywhere\n const handlePointerDown = useCallback(\n (e: PointerEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n e.currentTarget.setPointerCapture(e.pointerId);\n setFromX(e.clientX);\n },\n [disabled, setFromX],\n );\n\n const handlePointerMove = useCallback(\n (e: PointerEvent<HTMLDivElement>) => {\n if (!e.currentTarget.hasPointerCapture(e.pointerId)) {\n return;\n }\n\n setFromX(e.clientX);\n },\n [setFromX],\n );\n\n // Keyboard\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n const set = (next: number) => {\n e.preventDefault();\n onChange(clamp(snapToStep(next, min, step, dp), min, max));\n };\n\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n set(value + step);\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n set(value - step);\n break;\n case 'PageUp':\n set(value + step * 10);\n break;\n case 'PageDown':\n set(value - step * 10);\n break;\n case 'Home':\n set(min);\n break;\n case 'End':\n set(max);\n break;\n }\n },\n [value, step, min, max, dp, onChange],\n );\n\n const hasMarks = marks && marks.length > 0;\n const hasLabels = hasMarks && marks.some((m) => m.label);\n\n return (\n <div\n className={[styles.wrapper, hasLabels ? styles.hasLabels : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {/* Accessible slider */}\n <div\n ref={trackRef}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled || undefined}\n className={[styles.track, disabled ? styles.disabled : null].filter(Boolean).join(' ')}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onKeyDown={disabled ? undefined : handleKeyDown}\n >\n {/* Filled portion */}\n <div className={styles.fill} style={{ width: `${pct}%` }} />\n\n {/* Thumb */}\n <div className={styles.thumb} style={{ left: `${pct}%` }} aria-hidden=\"true\" />\n\n {/* Tick marks */}\n {hasMarks &&\n marks.map((m) => {\n const mPct = ((clamp(m.value, min, max) - min) / (max - min)) * 100;\n\n return (\n <div\n key={m.value}\n className={styles.tick}\n style={{ left: `${mPct}%` }}\n aria-hidden=\"true\"\n />\n );\n })}\n </div>\n\n {/* Mark labels */}\n {hasLabels && (\n <div className={styles.labels} aria-hidden=\"true\">\n {marks.map((m) => {\n const mPct = ((clamp(m.value, min, max) - min) / (max - min)) * 100;\n\n return (\n <span key={m.value} className={styles.markLabel} style={{ left: `${mPct}%` }}>\n {m.label}\n </span>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -42,4 +42,4 @@ export interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCha
|
|
|
42
42
|
*
|
|
43
43
|
* @see https://developer.gnome.org/hig/patterns/controls/sliders.html
|
|
44
44
|
*/
|
|
45
|
-
export declare
|
|
45
|
+
export declare const Slider: ({ value, onChange, min, max, step, disabled, marks, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...props }: SliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -12,7 +12,7 @@ function s(e) {
|
|
|
12
12
|
let t = e.toString(), n = t.indexOf(".");
|
|
13
13
|
return n === -1 ? 0 : t.length - n - 1;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
var c = ({ value: c, onChange: l, min: u = 0, max: d = 100, step: f = 1, disabled: p = !1, marks: m, className: h, "aria-label": g, "aria-labelledby": _, "aria-describedby": v, ...y }) => {
|
|
16
16
|
let b = n(null), x = s(f), S = (a(c, u, d) - u) / (d - u) * 100, C = t((e) => {
|
|
17
17
|
if (!b.current) return;
|
|
18
18
|
let { left: t, width: n } = b.current.getBoundingClientRect();
|
|
@@ -115,7 +115,7 @@ function c({ value: c, onChange: l, min: u = 0, max: d = 100, step: f = 1, disab
|
|
|
115
115
|
})
|
|
116
116
|
})]
|
|
117
117
|
});
|
|
118
|
-
}
|
|
118
|
+
};
|
|
119
119
|
//#endregion
|
|
120
120
|
export { c as Slider };
|
|
121
121
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":[],"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type PointerEvent,\n useCallback,\n useRef,\n} from 'react';\n\nimport styles from './Slider.module.css';\n\nexport interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. Must be between `min` and `max`. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum value. Defaults to `0`. */\n min?: number;\n /** Maximum value. Defaults to `100`. */\n max?: number;\n /**\n * Granularity of each step.\n * - Arrow keys move by one step.\n * - Page Up/Down move by 10 steps.\n * Defaults to `1`.\n */\n step?: number;\n /** Disables the control. */\n disabled?: boolean;\n /**\n * Marks to display along the track.\n * Each mark can have an optional label rendered below the track.\n */\n marks?: Array<{ value: number; label?: string }>;\n /** Accessible label. Required when no visible `<label>` is present. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n /** `id` of an element that describes the current value (e.g. a live region). */\n 'aria-describedby'?: string;\n}\n\nfunction clamp(v: number, min: number, max: number) {\n return Math.min(max, Math.max(min, v));\n}\n\nfunction snapToStep(v: number, min: number, step: number, decimals: number) {\n return parseFloat((Math.round((v - min) / step) * step + min).toFixed(decimals));\n}\n\nfunction countDecimals(n: number) {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\n/**\n * Draggable range slider following the Adwaita `GtkScale` pattern.\n *\n * - Pointer (mouse / touch / pen) drag to set value continuously.\n * - Keyboard: ← / → move by one step; Page Up/Down by 10 steps; Home/End jump to bounds.\n * - Optional tick marks with labels.\n * - Fills the track from the left up to the thumb (accent colour).\n *\n * @see https://developer.gnome.org/hig/patterns/controls/sliders.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"Slider.js","names":[],"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type PointerEvent,\n useCallback,\n useRef,\n} from 'react';\n\nimport styles from './Slider.module.css';\n\nexport interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. Must be between `min` and `max`. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum value. Defaults to `0`. */\n min?: number;\n /** Maximum value. Defaults to `100`. */\n max?: number;\n /**\n * Granularity of each step.\n * - Arrow keys move by one step.\n * - Page Up/Down move by 10 steps.\n * Defaults to `1`.\n */\n step?: number;\n /** Disables the control. */\n disabled?: boolean;\n /**\n * Marks to display along the track.\n * Each mark can have an optional label rendered below the track.\n */\n marks?: Array<{ value: number; label?: string }>;\n /** Accessible label. Required when no visible `<label>` is present. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n /** `id` of an element that describes the current value (e.g. a live region). */\n 'aria-describedby'?: string;\n}\n\nfunction clamp(v: number, min: number, max: number) {\n return Math.min(max, Math.max(min, v));\n}\n\nfunction snapToStep(v: number, min: number, step: number, decimals: number) {\n return parseFloat((Math.round((v - min) / step) * step + min).toFixed(decimals));\n}\n\nfunction countDecimals(n: number) {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\n/**\n * Draggable range slider following the Adwaita `GtkScale` pattern.\n *\n * - Pointer (mouse / touch / pen) drag to set value continuously.\n * - Keyboard: ← / → move by one step; Page Up/Down by 10 steps; Home/End jump to bounds.\n * - Optional tick marks with labels.\n * - Fills the track from the left up to the thumb (accent colour).\n *\n * @see https://developer.gnome.org/hig/patterns/controls/sliders.html\n */\nexport const Slider = ({\n value,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n disabled = false,\n marks,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: SliderProps) => {\n const trackRef = useRef<HTMLDivElement>(null);\n const dp = countDecimals(step);\n\n const pct = ((clamp(value, min, max) - min) / (max - min)) * 100;\n\n const setFromX = useCallback(\n (clientX: number) => {\n if (!trackRef.current) {\n return;\n }\n\n const { left, width } = trackRef.current.getBoundingClientRect();\n const raw = ((clientX - left) / width) * (max - min) + min;\n\n onChange(clamp(snapToStep(raw, min, step, dp), min, max));\n },\n [min, max, step, dp, onChange],\n );\n\n // Pointer drag — capture on the thumb, move anywhere\n const handlePointerDown = useCallback(\n (e: PointerEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n e.currentTarget.setPointerCapture(e.pointerId);\n setFromX(e.clientX);\n },\n [disabled, setFromX],\n );\n\n const handlePointerMove = useCallback(\n (e: PointerEvent<HTMLDivElement>) => {\n if (!e.currentTarget.hasPointerCapture(e.pointerId)) {\n return;\n }\n\n setFromX(e.clientX);\n },\n [setFromX],\n );\n\n // Keyboard\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n const set = (next: number) => {\n e.preventDefault();\n onChange(clamp(snapToStep(next, min, step, dp), min, max));\n };\n\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n set(value + step);\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n set(value - step);\n break;\n case 'PageUp':\n set(value + step * 10);\n break;\n case 'PageDown':\n set(value - step * 10);\n break;\n case 'Home':\n set(min);\n break;\n case 'End':\n set(max);\n break;\n }\n },\n [value, step, min, max, dp, onChange],\n );\n\n const hasMarks = marks && marks.length > 0;\n const hasLabels = hasMarks && marks.some((m) => m.label);\n\n return (\n <div\n className={[styles.wrapper, hasLabels ? styles.hasLabels : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {/* Accessible slider */}\n <div\n ref={trackRef}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled || undefined}\n className={[styles.track, disabled ? styles.disabled : null].filter(Boolean).join(' ')}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onKeyDown={disabled ? undefined : handleKeyDown}\n >\n {/* Filled portion */}\n <div className={styles.fill} style={{ width: `${pct}%` }} />\n\n {/* Thumb */}\n <div className={styles.thumb} style={{ left: `${pct}%` }} aria-hidden=\"true\" />\n\n {/* Tick marks */}\n {hasMarks &&\n marks.map((m) => {\n const mPct = ((clamp(m.value, min, max) - min) / (max - min)) * 100;\n\n return (\n <div\n key={m.value}\n className={styles.tick}\n style={{ left: `${mPct}%` }}\n aria-hidden=\"true\"\n />\n );\n })}\n </div>\n\n {/* Mark labels */}\n {hasLabels && (\n <div className={styles.labels} aria-hidden=\"true\">\n {marks.map((m) => {\n const mPct = ((clamp(m.value, min, max) - min) / (max - min)) * 100;\n\n return (\n <span key={m.value} className={styles.markLabel} style={{ left: `${mPct}%` }}>\n {m.label}\n </span>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;AAyCA,SAAS,EAAM,GAAW,GAAa,GAAa;CAClD,OAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,CAAC,CAAC;AACvC;AAEA,SAAS,EAAW,GAAW,GAAa,GAAc,GAAkB;CAC1E,OAAO,YAAY,KAAK,OAAO,IAAI,KAAO,CAAI,IAAI,IAAO,GAAK,QAAQ,CAAQ,CAAC;AACjF;AAEA,SAAS,EAAc,GAAW;CAChC,IAAM,IAAI,EAAE,SAAS,GACf,IAAM,EAAE,QAAQ,GAAG;CAEzB,OAAO,MAAQ,KAAK,IAAI,EAAE,SAAS,IAAM;AAC3C;AAYA,IAAa,KAAU,EACrB,UACA,aACA,SAAM,GACN,SAAM,KACN,UAAO,GACP,cAAW,IACX,UACA,cACA,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,GAAG,QACc;CACjB,IAAM,IAAW,EAAuB,IAAI,GACtC,IAAK,EAAc,CAAI,GAEvB,KAAQ,EAAM,GAAO,GAAK,CAAG,IAAI,MAAQ,IAAM,KAAQ,KAEvD,IAAW,GACd,MAAoB;EACnB,IAAI,CAAC,EAAS,SACZ;EAGF,IAAM,EAAE,SAAM,aAAU,EAAS,QAAQ,sBAAsB;EAG/D,EAAS,EAAM,GAFD,IAAU,KAAQ,KAAU,IAAM,KAAO,GAExB,GAAK,GAAM,CAAE,GAAG,GAAK,CAAG,CAAC;CAC1D,GACA;EAAC;EAAK;EAAK;EAAM;EAAI;CAAQ,CAC/B,GAGM,IAAoB,GACvB,MAAoC;EAC/B,MAIJ,EAAE,cAAc,kBAAkB,EAAE,SAAS,GAC7C,EAAS,EAAE,OAAO;CACpB,GACA,CAAC,GAAU,CAAQ,CACrB,GAEM,IAAoB,GACvB,MAAoC;EAC9B,EAAE,cAAc,kBAAkB,EAAE,SAAS,KAIlD,EAAS,EAAE,OAAO;CACpB,GACA,CAAC,CAAQ,CACX,GAGM,IAAgB,GACnB,MAAqC;EACpC,IAAM,KAAO,MAAiB;GAE5B,AADA,EAAE,eAAe,GACjB,EAAS,EAAM,EAAW,GAAM,GAAK,GAAM,CAAE,GAAG,GAAK,CAAG,CAAC;EAC3D;EAEA,QAAQ,EAAE,KAAV;GACE,KAAK;GACL,KAAK;IACH,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;GACL,KAAK;IACH,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;IACH,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IACH,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IACH,EAAI,CAAG;IACP;GACF,KAAK;IACH,EAAI,CAAG;IACP;EACJ;CACF,GACA;EAAC;EAAO;EAAM;EAAK;EAAK;EAAI;CAAQ,CACtC,GAEM,IAAW,KAAS,EAAM,SAAS,GACnC,IAAY,KAAY,EAAM,MAAM,MAAM,EAAE,KAAK;CAEvD,OACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAS,IAAY,EAAO,YAAY;GAAM;EAAS,EACvE,OAAO,OAAO,EACd,KAAK,GAAG;EACX,GAAI;YAJN,CAOE,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,UAAU,IAAW,KAAK;GAC1B,iBAAe;GACf,iBAAe;GACf,iBAAe;GACf,cAAY;GACZ,mBAAiB;GACjB,oBAAkB;GAClB,iBAAe,KAAY,KAAA;GAC3B,WAAW,CAAC,EAAO,OAAO,IAAW,EAAO,WAAW,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;GACrF,eAAe;GACf,eAAe;GACf,WAAW,IAAW,KAAA,IAAY;aAdpC;IAiBE,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAM,OAAO,EAAE,OAAO,GAAG,EAAI,GAAG;IAAI,CAAA;IAG3D,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAO,OAAO,EAAE,MAAM,GAAG,EAAI,GAAG;KAAG,eAAY;IAAQ,CAAA;IAG7E,KACC,EAAM,KAAK,MAAM;KACf,IAAM,KAAS,EAAM,EAAE,OAAO,GAAK,CAAG,IAAI,MAAQ,IAAM,KAAQ;KAEhE,OACE,kBAAC,OAAD;MAEE,WAAW,EAAO;MAClB,OAAO,EAAE,MAAM,GAAG,EAAK,GAAG;MAC1B,eAAY;KACb,GAJM,EAAE,KAIR;IAEL,CAAC;GACA;MAGJ,KACC,kBAAC,OAAD;GAAK,WAAW,EAAO;GAAQ,eAAY;aACxC,EAAM,KAAK,MAAM;IAChB,IAAM,KAAS,EAAM,EAAE,OAAO,GAAK,CAAG,IAAI,MAAQ,IAAM,KAAQ;IAEhE,OACE,kBAAC,QAAD;KAAoB,WAAW,EAAO;KAAW,OAAO,EAAE,MAAM,GAAG,EAAK,GAAG;eACxE,EAAE;IACC,GAFK,EAAE,KAEP;GAEV,CAAC;EACE,CAAA,CAEJ;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./Slider/Slider.cjs");exports.Slider=e.Slider;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./SpinButton.module.css.cjs");let t=require("react"),n=require("react/jsx-runtime");function r(e){let t=e.toString(),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function i(e,t,n){return Math.min(n,Math.max(t,e))}var a=({value:a,onChange:o,min:s=0,max:c=100,step:l=1,decimals:u,disabled:d=!1,className:f,"aria-label":p,"aria-labelledby":m,...h})=>{let g=u??r(l),_=(0,t.useCallback)(e=>o(parseFloat(i(e,s,c).toFixed(g))),[o,s,c,g]),v=(0,t.useCallback)(e=>{switch(e.key){case`ArrowUp`:e.preventDefault(),_(a+l);break;case`ArrowDown`:e.preventDefault(),_(a-l);break;case`PageUp`:e.preventDefault(),_(a+l*10);break;case`PageDown`:e.preventDefault(),_(a-l*10);break;case`Home`:e.preventDefault(),_(s);break;case`End`:e.preventDefault(),_(c);break}},[a,l,s,c,_]);return(0,n.jsxs)(`div`,{role:`spinbutton`,"aria-valuenow":a,"aria-valuemin":s,"aria-valuemax":c,"aria-label":p,"aria-labelledby":m,"aria-disabled":d||void 0,tabIndex:d?-1:0,onKeyDown:d?void 0:v,className:[e.default.spin,d?e.default.disabled:null,f].filter(Boolean).join(` `),...h,children:[(0,n.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,disabled:d||a<=s,className:e.default.btn,onClick:()=>_(a-l),children:`−`}),(0,n.jsx)(`span`,{className:e.default.value,"aria-hidden":`true`,children:a.toFixed(g)}),(0,n.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,disabled:d||a>=c,className:e.default.btn,onClick:()=>_(a+l),children:`+`})]})};exports.SpinButton=a;
|
|
2
2
|
//# sourceMappingURL=SpinButton.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinButton.cjs","names":[],"sources":["../../../src/components/SpinButton/SpinButton.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, useCallback } from 'react';\n\nimport styles from './SpinButton.module.css';\n\nexport interface SpinButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the control. */\n disabled?: boolean;\n /** Accessible label. Required when no visible `<label>` is associated. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * Numeric input with − and + buttons following the Adwaita `GtkSpinButton` style.\n *\n * Supports keyboard interaction: ↑/↓ increment by one step,\n * Page Up/Down increment by 10×, Home/End jump to min/max.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/spin-buttons.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"SpinButton.cjs","names":[],"sources":["../../../src/components/SpinButton/SpinButton.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, useCallback } from 'react';\n\nimport styles from './SpinButton.module.css';\n\nexport interface SpinButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the control. */\n disabled?: boolean;\n /** Accessible label. Required when no visible `<label>` is associated. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * Numeric input with − and + buttons following the Adwaita `GtkSpinButton` style.\n *\n * Supports keyboard interaction: ↑/↓ increment by one step,\n * Page Up/Down increment by 10×, Home/End jump to min/max.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/spin-buttons.html\n */\nexport const SpinButton = ({\n value,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n decimals,\n disabled = false,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n}: SpinButtonProps) => {\n const dp = decimals ?? countDecimals(step);\n\n const set = useCallback(\n (next: number) => onChange(parseFloat(clamp(next, min, max).toFixed(dp))),\n [onChange, min, max, dp],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n set(value + step);\n break;\n case 'ArrowDown':\n e.preventDefault();\n set(value - step);\n break;\n case 'PageUp':\n e.preventDefault();\n set(value + step * 10);\n break;\n case 'PageDown':\n e.preventDefault();\n set(value - step * 10);\n break;\n case 'Home':\n e.preventDefault();\n set(min);\n break;\n case 'End':\n e.preventDefault();\n set(max);\n break;\n }\n },\n [value, step, min, max, set],\n );\n\n return (\n <div\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={disabled ? undefined : handleKeyDown}\n className={[styles.spin, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value <= min}\n className={styles.btn}\n onClick={() => set(value - step)}\n >\n −\n </button>\n\n <span className={styles.value} aria-hidden=\"true\">\n {value.toFixed(dp)}\n </span>\n\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value >= max}\n className={styles.btn}\n onClick={() => set(value + step)}\n >\n +\n </button>\n </div>\n );\n};\n"],"mappings":"qGAyBA,SAAS,EAAc,EAAmB,CACxC,IAAM,EAAI,EAAE,SAAS,EACf,EAAM,EAAE,QAAQ,GAAG,EAEzB,OAAO,IAAQ,GAAK,EAAI,EAAE,OAAS,EAAM,CAC3C,CAEA,SAAS,EAAM,EAAe,EAAa,EAAqB,CAC9D,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,CAAK,CAAC,CAC3C,CAUA,IAAa,GAAc,CACzB,QACA,WACA,MAAM,EACN,MAAM,IACN,OAAO,EACP,WACA,WAAW,GACX,YACA,aAAc,EACd,kBAAmB,EACnB,GAAG,KACkB,CACrB,IAAM,EAAK,GAAY,EAAc,CAAI,EAEnC,GAAA,EAAA,EAAA,aACH,GAAiB,EAAS,WAAW,EAAM,EAAM,EAAK,CAAG,EAAE,QAAQ,CAAE,CAAC,CAAC,EACxE,CAAC,EAAU,EAAK,EAAK,CAAE,CACzB,EAEM,GAAA,EAAA,EAAA,aACH,GAAqC,CACpC,OAAQ,EAAE,IAAV,CACE,IAAK,UACH,EAAE,eAAe,EACjB,EAAI,EAAQ,CAAI,EAChB,MACF,IAAK,YACH,EAAE,eAAe,EACjB,EAAI,EAAQ,CAAI,EAChB,MACF,IAAK,SACH,EAAE,eAAe,EACjB,EAAI,EAAQ,EAAO,EAAE,EACrB,MACF,IAAK,WACH,EAAE,eAAe,EACjB,EAAI,EAAQ,EAAO,EAAE,EACrB,MACF,IAAK,OACH,EAAE,eAAe,EACjB,EAAI,CAAG,EACP,MACF,IAAK,MACH,EAAE,eAAe,EACjB,EAAI,CAAG,EACP,KACJ,CACF,EACA,CAAC,EAAO,EAAM,EAAK,EAAK,CAAG,CAC7B,EAEA,OACE,EAAA,EAAA,MAAC,MAAD,CACE,KAAK,aACL,gBAAe,EACf,gBAAe,EACf,gBAAe,EACf,aAAY,EACZ,kBAAiB,EACjB,gBAAe,GAAY,IAAA,GAC3B,SAAU,EAAW,GAAK,EAC1B,UAAW,EAAW,IAAA,GAAY,EAClC,UAAW,CAAC,EAAA,QAAO,KAAM,EAAW,EAAA,QAAO,SAAW,KAAM,CAAS,EAClE,OAAO,OAAO,EACd,KAAK,GAAG,EACX,GAAI,WAbN,EAeE,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,cAAY,OACZ,SAAU,GAAY,GAAS,EAC/B,UAAW,EAAA,QAAO,IAClB,YAAe,EAAI,EAAQ,CAAI,WAChC,GAEO,CAAA,GAER,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,MAAO,cAAY,gBACxC,EAAM,QAAQ,CAAE,CACb,CAAA,GAEN,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,cAAY,OACZ,SAAU,GAAY,GAAS,EAC/B,UAAW,EAAA,QAAO,IAClB,YAAe,EAAI,EAAQ,CAAI,WAChC,GAEO,CAAA,CACL,GAET"}
|
|
@@ -27,4 +27,4 @@ export interface SpinButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'o
|
|
|
27
27
|
*
|
|
28
28
|
* @see https://developer.gnome.org/hig/patterns/controls/spin-buttons.html
|
|
29
29
|
*/
|
|
30
|
-
export declare
|
|
30
|
+
export declare const SpinButton: ({ value, onChange, min, max, step, decimals, disabled, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }: SpinButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -9,7 +9,7 @@ function i(e) {
|
|
|
9
9
|
function a(e, t, n) {
|
|
10
10
|
return Math.min(n, Math.max(t, e));
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
var o = ({ value: o, onChange: s, min: c = 0, max: l = 100, step: u = 1, decimals: d, disabled: f = !1, className: p, "aria-label": m, "aria-labelledby": h, ...g }) => {
|
|
13
13
|
let _ = d ?? i(u), v = t((e) => s(parseFloat(a(e, c, l).toFixed(_))), [
|
|
14
14
|
s,
|
|
15
15
|
c,
|
|
@@ -85,7 +85,7 @@ function o({ value: o, onChange: s, min: c = 0, max: l = 100, step: u = 1, decim
|
|
|
85
85
|
})
|
|
86
86
|
]
|
|
87
87
|
});
|
|
88
|
-
}
|
|
88
|
+
};
|
|
89
89
|
//#endregion
|
|
90
90
|
export { o as SpinButton };
|
|
91
91
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinButton.js","names":[],"sources":["../../../src/components/SpinButton/SpinButton.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, useCallback } from 'react';\n\nimport styles from './SpinButton.module.css';\n\nexport interface SpinButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the control. */\n disabled?: boolean;\n /** Accessible label. Required when no visible `<label>` is associated. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * Numeric input with − and + buttons following the Adwaita `GtkSpinButton` style.\n *\n * Supports keyboard interaction: ↑/↓ increment by one step,\n * Page Up/Down increment by 10×, Home/End jump to min/max.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/spin-buttons.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"SpinButton.js","names":[],"sources":["../../../src/components/SpinButton/SpinButton.tsx"],"sourcesContent":["import { type HTMLAttributes, type KeyboardEvent, useCallback } from 'react';\n\nimport styles from './SpinButton.module.css';\n\nexport interface SpinButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Current value. */\n value: number;\n /** Called when the value changes. */\n onChange: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the control. */\n disabled?: boolean;\n /** Accessible label. Required when no visible `<label>` is associated. */\n 'aria-label'?: string;\n /** Associates the control with a visible label element. */\n 'aria-labelledby'?: string;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * Numeric input with − and + buttons following the Adwaita `GtkSpinButton` style.\n *\n * Supports keyboard interaction: ↑/↓ increment by one step,\n * Page Up/Down increment by 10×, Home/End jump to min/max.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/spin-buttons.html\n */\nexport const SpinButton = ({\n value,\n onChange,\n min = 0,\n max = 100,\n step = 1,\n decimals,\n disabled = false,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n}: SpinButtonProps) => {\n const dp = decimals ?? countDecimals(step);\n\n const set = useCallback(\n (next: number) => onChange(parseFloat(clamp(next, min, max).toFixed(dp))),\n [onChange, min, max, dp],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n set(value + step);\n break;\n case 'ArrowDown':\n e.preventDefault();\n set(value - step);\n break;\n case 'PageUp':\n e.preventDefault();\n set(value + step * 10);\n break;\n case 'PageDown':\n e.preventDefault();\n set(value - step * 10);\n break;\n case 'Home':\n e.preventDefault();\n set(min);\n break;\n case 'End':\n e.preventDefault();\n set(max);\n break;\n }\n },\n [value, step, min, max, set],\n );\n\n return (\n <div\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={disabled ? undefined : handleKeyDown}\n className={[styles.spin, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value <= min}\n className={styles.btn}\n onClick={() => set(value - step)}\n >\n −\n </button>\n\n <span className={styles.value} aria-hidden=\"true\">\n {value.toFixed(dp)}\n </span>\n\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value >= max}\n className={styles.btn}\n onClick={() => set(value + step)}\n >\n +\n </button>\n </div>\n );\n};\n"],"mappings":";;;;AAyBA,SAAS,EAAc,GAAmB;CACxC,IAAM,IAAI,EAAE,SAAS,GACf,IAAM,EAAE,QAAQ,GAAG;CAEzB,OAAO,MAAQ,KAAK,IAAI,EAAE,SAAS,IAAM;AAC3C;AAEA,SAAS,EAAM,GAAe,GAAa,GAAqB;CAC9D,OAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,CAAK,CAAC;AAC3C;AAUA,IAAa,KAAc,EACzB,UACA,aACA,SAAM,GACN,SAAM,KACN,UAAO,GACP,aACA,cAAW,IACX,cACA,cAAc,GACd,mBAAmB,GACnB,GAAG,QACkB;CACrB,IAAM,IAAK,KAAY,EAAc,CAAI,GAEnC,IAAM,GACT,MAAiB,EAAS,WAAW,EAAM,GAAM,GAAK,CAAG,EAAE,QAAQ,CAAE,CAAC,CAAC,GACxE;EAAC;EAAU;EAAK;EAAK;CAAE,CACzB,GAEM,IAAgB,GACnB,MAAqC;EACpC,QAAQ,EAAE,KAAV;GACE,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,CAAG;IACP;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,CAAG;IACP;EACJ;CACF,GACA;EAAC;EAAO;EAAM;EAAK;EAAK;CAAG,CAC7B;CAEA,OACE,kBAAC,OAAD;EACE,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,cAAY;EACZ,mBAAiB;EACjB,iBAAe,KAAY,KAAA;EAC3B,UAAU,IAAW,KAAK;EAC1B,WAAW,IAAW,KAAA,IAAY;EAClC,WAAW;GAAC,EAAO;GAAM,IAAW,EAAO,WAAW;GAAM;EAAS,EAClE,OAAO,OAAO,EACd,KAAK,GAAG;EACX,GAAI;YAbN;GAeE,kBAAC,UAAD;IACE,MAAK;IACL,UAAU;IACV,eAAY;IACZ,UAAU,KAAY,KAAS;IAC/B,WAAW,EAAO;IAClB,eAAe,EAAI,IAAQ,CAAI;cAChC;GAEO,CAAA;GAER,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAO,eAAY;cACxC,EAAM,QAAQ,CAAE;GACb,CAAA;GAEN,kBAAC,UAAD;IACE,MAAK;IACL,UAAU;IACV,eAAY;IACZ,UAAU,KAAY,KAAS;IAC/B,WAAW,EAAO;IAClB,eAAe,EAAI,IAAQ,CAAI;cAChC;GAEO,CAAA;EACL;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./SpinButton/SpinButton.cjs");exports.SpinButton=e.SpinButton;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./SpinRow.module.css.cjs");let t=require("react"),n=require("react/jsx-runtime");function r(e){let t=e.toString(),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function i(e,t,n){return Math.min(n,Math.max(t,e))}var a=({title:a,subtitle:o,leading:s,value:c,defaultValue:l=0,onValueChange:u,min:d=0,max:f=100,step:p=1,decimals:m,disabled:h=!1,className:g,..._})=>{let v=c!==void 0,[y,b]=(0,t.useState)(l),x=v?c:y,S=m??r(p),C=(0,t.useId)(),w=(0,t.useCallback)(e=>{let t=parseFloat(i(e,d,f).toFixed(S));v||b(t),u?.(t)},[v,d,f,S,u]),T=(0,t.useCallback)(e=>{switch(e.key){case`ArrowUp`:e.preventDefault(),w(x+p);break;case`ArrowDown`:e.preventDefault(),w(x-p);break;case`PageUp`:e.preventDefault(),w(x+p*10);break;case`PageDown`:e.preventDefault(),w(x-p*10);break;case`Home`:e.preventDefault(),w(d);break;case`End`:e.preventDefault(),w(f);break}},[x,p,d,f,w]);return(0,n.jsxs)(`div`,{className:[e.default.row,h?e.default.disabled:null,g].filter(Boolean).join(` `),..._,children:[s&&(0,n.jsx)(`span`,{className:e.default.leading,children:s}),(0,n.jsxs)(`span`,{className:e.default.content,children:[(0,n.jsx)(`span`,{className:e.default.title,children:a}),o&&(0,n.jsx)(`span`,{className:e.default.subtitle,children:o})]}),(0,n.jsxs)(`div`,{role:`spinbutton`,"aria-valuenow":x,"aria-valuemin":d,"aria-valuemax":f,"aria-labelledby":C,"aria-disabled":h||void 0,tabIndex:h?-1:0,onKeyDown:h?void 0:T,className:e.default.spin,children:[(0,n.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,disabled:h||x<=d,className:e.default.spinBtn,onClick:e=>{e.stopPropagation(),w(x-p)},children:`−`}),(0,n.jsx)(`span`,{id:C,className:e.default.spinValue,"aria-hidden":`true`,children:x.toFixed(S)}),(0,n.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,disabled:h||x>=f,className:e.default.spinBtn,onClick:e=>{e.stopPropagation(),w(x+p)},children:`+`})]})]})};exports.SpinRow=a;
|
|
2
2
|
//# sourceMappingURL=SpinRow.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinRow.cjs","names":[],"sources":["../../../src/components/SpinRow/SpinRow.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useId,\n useState,\n} from 'react';\n\nimport styles from './SpinRow.module.css';\n\nexport interface SpinRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Current value (controlled). */\n value?: number;\n /** Initial value when uncontrolled. Defaults to `0`. */\n defaultValue?: number;\n /** Called when the value changes. */\n onValueChange?: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the row. */\n disabled?: boolean;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, v));\n}\n\n/**\n * Settings row with an integrated spin button for numeric values.\n *\n * Mirrors `AdwSpinRow` — a standard row layout with − / + buttons at the\n * trailing edge. Use inside a `BoxedList` for settings with numeric ranges\n * (volume, timeout duration, count limits, etc.).\n *\n * Supports both controlled (`value`) and uncontrolled (`defaultValue`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SpinRow.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"SpinRow.cjs","names":[],"sources":["../../../src/components/SpinRow/SpinRow.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useId,\n useState,\n} from 'react';\n\nimport styles from './SpinRow.module.css';\n\nexport interface SpinRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Current value (controlled). */\n value?: number;\n /** Initial value when uncontrolled. Defaults to `0`. */\n defaultValue?: number;\n /** Called when the value changes. */\n onValueChange?: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the row. */\n disabled?: boolean;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, v));\n}\n\n/**\n * Settings row with an integrated spin button for numeric values.\n *\n * Mirrors `AdwSpinRow` — a standard row layout with − / + buttons at the\n * trailing edge. Use inside a `BoxedList` for settings with numeric ranges\n * (volume, timeout duration, count limits, etc.).\n *\n * Supports both controlled (`value`) and uncontrolled (`defaultValue`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SpinRow.html\n */\nexport const SpinRow = ({\n title,\n subtitle,\n leading,\n value: controlledValue,\n defaultValue = 0,\n onValueChange,\n min = 0,\n max = 100,\n step = 1,\n decimals,\n disabled = false,\n className,\n ...props\n}: SpinRowProps) => {\n const isControlled = controlledValue !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = isControlled ? controlledValue : uncontrolledValue;\n\n const dp = decimals ?? countDecimals(step);\n const spinId = useId();\n\n const set = useCallback(\n (next: number) => {\n const clamped = parseFloat(clamp(next, min, max).toFixed(dp));\n\n if (!isControlled) {\n setUncontrolledValue(clamped);\n }\n\n onValueChange?.(clamped);\n },\n [isControlled, min, max, dp, onValueChange],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n set(value + step);\n break;\n case 'ArrowDown':\n e.preventDefault();\n set(value - step);\n break;\n case 'PageUp':\n e.preventDefault();\n set(value + step * 10);\n break;\n case 'PageDown':\n e.preventDefault();\n set(value - step * 10);\n break;\n case 'Home':\n e.preventDefault();\n set(min);\n break;\n case 'End':\n e.preventDefault();\n set(max);\n break;\n }\n },\n [value, step, min, max, set],\n );\n\n return (\n <div\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Spin button widget */}\n <div\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-labelledby={spinId}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={disabled ? undefined : handleKeyDown}\n className={styles.spin}\n >\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value <= min}\n className={styles.spinBtn}\n onClick={(e) => {\n e.stopPropagation();\n set(value - step);\n }}\n >\n −\n </button>\n\n <span id={spinId} className={styles.spinValue} aria-hidden=\"true\">\n {value.toFixed(dp)}\n </span>\n\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value >= max}\n className={styles.spinBtn}\n onClick={(e) => {\n e.stopPropagation();\n set(value + step);\n }}\n >\n +\n </button>\n </div>\n </div>\n );\n};\n"],"mappings":"kGAoCA,SAAS,EAAc,EAAmB,CACxC,IAAM,EAAI,EAAE,SAAS,EACf,EAAM,EAAE,QAAQ,GAAG,EAEzB,OAAO,IAAQ,GAAK,EAAI,EAAE,OAAS,EAAM,CAC3C,CAEA,SAAS,EAAM,EAAW,EAAa,EAAqB,CAC1D,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,CAAC,CAAC,CACvC,CAaA,IAAa,GAAW,CACtB,QACA,WACA,UACA,MAAO,EACP,eAAe,EACf,gBACA,MAAM,EACN,MAAM,IACN,OAAO,EACP,WACA,WAAW,GACX,YACA,GAAG,KACe,CAClB,IAAM,EAAe,IAAoB,IAAA,GACnC,CAAC,EAAmB,IAAA,EAAA,EAAA,UAAiC,CAAY,EACjE,EAAQ,EAAe,EAAkB,EAEzC,EAAK,GAAY,EAAc,CAAI,EACnC,GAAA,EAAA,EAAA,OAAe,EAEf,GAAA,EAAA,EAAA,aACH,GAAiB,CAChB,IAAM,EAAU,WAAW,EAAM,EAAM,EAAK,CAAG,EAAE,QAAQ,CAAE,CAAC,EAEvD,GACH,EAAqB,CAAO,EAG9B,IAAgB,CAAO,CACzB,EACA,CAAC,EAAc,EAAK,EAAK,EAAI,CAAa,CAC5C,EAEM,GAAA,EAAA,EAAA,aACH,GAAqC,CACpC,OAAQ,EAAE,IAAV,CACE,IAAK,UACH,EAAE,eAAe,EACjB,EAAI,EAAQ,CAAI,EAChB,MACF,IAAK,YACH,EAAE,eAAe,EACjB,EAAI,EAAQ,CAAI,EAChB,MACF,IAAK,SACH,EAAE,eAAe,EACjB,EAAI,EAAQ,EAAO,EAAE,EACrB,MACF,IAAK,WACH,EAAE,eAAe,EACjB,EAAI,EAAQ,EAAO,EAAE,EACrB,MACF,IAAK,OACH,EAAE,eAAe,EACjB,EAAI,CAAG,EACP,MACF,IAAK,MACH,EAAE,eAAe,EACjB,EAAI,CAAG,EACP,KACJ,CACF,EACA,CAAC,EAAO,EAAM,EAAK,EAAK,CAAG,CAC7B,EAEA,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,IAAK,EAAW,EAAA,QAAO,SAAW,KAAM,CAAS,EACjE,OAAO,OAAO,EACd,KAAK,GAAG,EACX,GAAI,WAJN,CAMG,IAAW,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,iBAAU,CAAc,CAAA,GAE5D,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,QAAO,iBAAxB,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,CAAY,CAAA,EAC3C,IAAY,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBAAW,CAAe,CAAA,CAC3D,KAGN,EAAA,EAAA,MAAC,MAAD,CACE,KAAK,aACL,gBAAe,EACf,gBAAe,EACf,gBAAe,EACf,kBAAiB,EACjB,gBAAe,GAAY,IAAA,GAC3B,SAAU,EAAW,GAAK,EAC1B,UAAW,EAAW,IAAA,GAAY,EAClC,UAAW,EAAA,QAAO,cATpB,EAWE,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,cAAY,OACZ,SAAU,GAAY,GAAS,EAC/B,UAAW,EAAA,QAAO,QAClB,QAAU,GAAM,CACd,EAAE,gBAAgB,EAClB,EAAI,EAAQ,CAAI,CAClB,WACD,GAEO,CAAA,GAER,EAAA,EAAA,KAAC,OAAD,CAAM,GAAI,EAAQ,UAAW,EAAA,QAAO,UAAW,cAAY,gBACxD,EAAM,QAAQ,CAAE,CACb,CAAA,GAEN,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,SAAU,GACV,cAAY,OACZ,SAAU,GAAY,GAAS,EAC/B,UAAW,EAAA,QAAO,QAClB,QAAU,GAAM,CACd,EAAE,gBAAgB,EAClB,EAAI,EAAQ,CAAI,CAClB,WACD,GAEO,CAAA,CACL,GACF,GAET"}
|
|
@@ -34,4 +34,4 @@ export interface SpinRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCh
|
|
|
34
34
|
*
|
|
35
35
|
* @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SpinRow.html
|
|
36
36
|
*/
|
|
37
|
-
export declare
|
|
37
|
+
export declare const SpinRow: ({ title, subtitle, leading, value: controlledValue, defaultValue, onValueChange, min, max, step, decimals, disabled, className, ...props }: SpinRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -9,7 +9,7 @@ function o(e) {
|
|
|
9
9
|
function s(e, t, n) {
|
|
10
10
|
return Math.min(n, Math.max(t, e));
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
var c = ({ title: c, subtitle: l, leading: u, value: d, defaultValue: f = 0, onValueChange: p, min: m = 0, max: h = 100, step: g = 1, decimals: _, disabled: v = !1, className: y, ...b }) => {
|
|
13
13
|
let x = d !== void 0, [S, C] = r(f), w = x ? d : S, T = _ ?? o(g), E = n(), D = t((e) => {
|
|
14
14
|
let t = parseFloat(s(e, m, h).toFixed(T));
|
|
15
15
|
x || C(t), p?.(t);
|
|
@@ -112,7 +112,7 @@ function c({ title: c, subtitle: l, leading: u, value: d, defaultValue: f = 0, o
|
|
|
112
112
|
})
|
|
113
113
|
]
|
|
114
114
|
});
|
|
115
|
-
}
|
|
115
|
+
};
|
|
116
116
|
//#endregion
|
|
117
117
|
export { c as SpinRow };
|
|
118
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinRow.js","names":[],"sources":["../../../src/components/SpinRow/SpinRow.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useId,\n useState,\n} from 'react';\n\nimport styles from './SpinRow.module.css';\n\nexport interface SpinRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Current value (controlled). */\n value?: number;\n /** Initial value when uncontrolled. Defaults to `0`. */\n defaultValue?: number;\n /** Called when the value changes. */\n onValueChange?: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the row. */\n disabled?: boolean;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, v));\n}\n\n/**\n * Settings row with an integrated spin button for numeric values.\n *\n * Mirrors `AdwSpinRow` — a standard row layout with − / + buttons at the\n * trailing edge. Use inside a `BoxedList` for settings with numeric ranges\n * (volume, timeout duration, count limits, etc.).\n *\n * Supports both controlled (`value`) and uncontrolled (`defaultValue`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SpinRow.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"SpinRow.js","names":[],"sources":["../../../src/components/SpinRow/SpinRow.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useId,\n useState,\n} from 'react';\n\nimport styles from './SpinRow.module.css';\n\nexport interface SpinRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Primary label. */\n title: string;\n /** Secondary line below the title. */\n subtitle?: string;\n /** Icon or image placed at the leading edge. */\n leading?: ReactNode;\n /** Current value (controlled). */\n value?: number;\n /** Initial value when uncontrolled. Defaults to `0`. */\n defaultValue?: number;\n /** Called when the value changes. */\n onValueChange?: (value: number) => void;\n /** Minimum allowed value. Defaults to `0`. */\n min?: number;\n /** Maximum allowed value. Defaults to `100`. */\n max?: number;\n /** Amount to increment/decrement per step. Defaults to `1`. */\n step?: number;\n /** Number of decimal places shown. Derived from `step` when omitted. */\n decimals?: number;\n /** Disables the row. */\n disabled?: boolean;\n}\n\nfunction countDecimals(n: number): number {\n const s = n.toString();\n const dot = s.indexOf('.');\n\n return dot === -1 ? 0 : s.length - dot - 1;\n}\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, v));\n}\n\n/**\n * Settings row with an integrated spin button for numeric values.\n *\n * Mirrors `AdwSpinRow` — a standard row layout with − / + buttons at the\n * trailing edge. Use inside a `BoxedList` for settings with numeric ranges\n * (volume, timeout duration, count limits, etc.).\n *\n * Supports both controlled (`value`) and uncontrolled (`defaultValue`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SpinRow.html\n */\nexport const SpinRow = ({\n title,\n subtitle,\n leading,\n value: controlledValue,\n defaultValue = 0,\n onValueChange,\n min = 0,\n max = 100,\n step = 1,\n decimals,\n disabled = false,\n className,\n ...props\n}: SpinRowProps) => {\n const isControlled = controlledValue !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const value = isControlled ? controlledValue : uncontrolledValue;\n\n const dp = decimals ?? countDecimals(step);\n const spinId = useId();\n\n const set = useCallback(\n (next: number) => {\n const clamped = parseFloat(clamp(next, min, max).toFixed(dp));\n\n if (!isControlled) {\n setUncontrolledValue(clamped);\n }\n\n onValueChange?.(clamped);\n },\n [isControlled, min, max, dp, onValueChange],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n set(value + step);\n break;\n case 'ArrowDown':\n e.preventDefault();\n set(value - step);\n break;\n case 'PageUp':\n e.preventDefault();\n set(value + step * 10);\n break;\n case 'PageDown':\n e.preventDefault();\n set(value - step * 10);\n break;\n case 'Home':\n e.preventDefault();\n set(min);\n break;\n case 'End':\n e.preventDefault();\n set(max);\n break;\n }\n },\n [value, step, min, max, set],\n );\n\n return (\n <div\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Spin button widget */}\n <div\n role=\"spinbutton\"\n aria-valuenow={value}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-labelledby={spinId}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={disabled ? undefined : handleKeyDown}\n className={styles.spin}\n >\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value <= min}\n className={styles.spinBtn}\n onClick={(e) => {\n e.stopPropagation();\n set(value - step);\n }}\n >\n −\n </button>\n\n <span id={spinId} className={styles.spinValue} aria-hidden=\"true\">\n {value.toFixed(dp)}\n </span>\n\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden=\"true\"\n disabled={disabled || value >= max}\n className={styles.spinBtn}\n onClick={(e) => {\n e.stopPropagation();\n set(value + step);\n }}\n >\n +\n </button>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;AAoCA,SAAS,EAAc,GAAmB;CACxC,IAAM,IAAI,EAAE,SAAS,GACf,IAAM,EAAE,QAAQ,GAAG;CAEzB,OAAO,MAAQ,KAAK,IAAI,EAAE,SAAS,IAAM;AAC3C;AAEA,SAAS,EAAM,GAAW,GAAa,GAAqB;CAC1D,OAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,CAAC,CAAC;AACvC;AAaA,IAAa,KAAW,EACtB,UACA,aACA,YACA,OAAO,GACP,kBAAe,GACf,kBACA,SAAM,GACN,SAAM,KACN,UAAO,GACP,aACA,cAAW,IACX,cACA,GAAG,QACe;CAClB,IAAM,IAAe,MAAoB,KAAA,GACnC,CAAC,GAAmB,KAAwB,EAAS,CAAY,GACjE,IAAQ,IAAe,IAAkB,GAEzC,IAAK,KAAY,EAAc,CAAI,GACnC,IAAS,EAAM,GAEf,IAAM,GACT,MAAiB;EAChB,IAAM,IAAU,WAAW,EAAM,GAAM,GAAK,CAAG,EAAE,QAAQ,CAAE,CAAC;EAM5D,AAJK,KACH,EAAqB,CAAO,GAG9B,IAAgB,CAAO;CACzB,GACA;EAAC;EAAc;EAAK;EAAK;EAAI;CAAa,CAC5C,GAEM,IAAgB,GACnB,MAAqC;EACpC,QAAQ,EAAE,KAAV;GACE,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,CAAI;IAChB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,IAAQ,IAAO,EAAE;IACrB;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,CAAG;IACP;GACF,KAAK;IAEH,AADA,EAAE,eAAe,GACjB,EAAI,CAAG;IACP;EACJ;CACF,GACA;EAAC;EAAO;EAAM;EAAK;EAAK;CAAG,CAC7B;CAEA,OACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAK,IAAW,EAAO,WAAW;GAAM;EAAS,EACjE,OAAO,OAAO,EACd,KAAK,GAAG;EACX,GAAI;YAJN;GAMG,KAAW,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAU;GAAc,CAAA;GAE5D,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAxB,CACE,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;IAAY,CAAA,GAC3C,KAAY,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAW;IAAe,CAAA,CAC3D;;GAGN,kBAAC,OAAD;IACE,MAAK;IACL,iBAAe;IACf,iBAAe;IACf,iBAAe;IACf,mBAAiB;IACjB,iBAAe,KAAY,KAAA;IAC3B,UAAU,IAAW,KAAK;IAC1B,WAAW,IAAW,KAAA,IAAY;IAClC,WAAW,EAAO;cATpB;KAWE,kBAAC,UAAD;MACE,MAAK;MACL,UAAU;MACV,eAAY;MACZ,UAAU,KAAY,KAAS;MAC/B,WAAW,EAAO;MAClB,UAAU,MAAM;OAEd,AADA,EAAE,gBAAgB,GAClB,EAAI,IAAQ,CAAI;MAClB;gBACD;KAEO,CAAA;KAER,kBAAC,QAAD;MAAM,IAAI;MAAQ,WAAW,EAAO;MAAW,eAAY;gBACxD,EAAM,QAAQ,CAAE;KACb,CAAA;KAEN,kBAAC,UAAD;MACE,MAAK;MACL,UAAU;MACV,eAAY;MACZ,UAAU,KAAY,KAAS;MAC/B,WAAW,EAAO;MAClB,UAAU,MAAM;OAEd,AADA,EAAE,gBAAgB,GAClB,EAAI,IAAQ,CAAI;MAClB;gBACD;KAEO,CAAA;IACL;;EACF;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./SpinRow/SpinRow.cjs");exports.SpinRow=e.SpinRow;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./Spinner.module.css.cjs");let t=require("react/jsx-runtime");var n=({size:n=`md`,label:r=`Loading…`,className:i,...a})=>{let o=[e.default.spinner,e.default[n],i].filter(Boolean).join(` `);return(0,t.jsx)(`span`,{role:`status`,"aria-label":r||void 0,"aria-hidden":r===``?!0:void 0,className:o,...a})};exports.Spinner=n;
|
|
2
2
|
//# sourceMappingURL=Spinner.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.cjs","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport styles from './Spinner.module.css';\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg';\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {\n /** Size of the spinner. Defaults to `\"md\"`. */\n size?: SpinnerSize;\n /**\n * Accessible label announced by screen readers.\n * Defaults to `\"Loading…\"`. Set to `\"\"` to silence if a sibling label is present.\n */\n label?: string;\n}\n\n/**\n * Indeterminate loading indicator following the Adwaita spinner style.\n *\n * Renders a spinning ring using a pure CSS animation that respects\n * `prefers-reduced-motion`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"Spinner.cjs","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport styles from './Spinner.module.css';\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg';\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {\n /** Size of the spinner. Defaults to `\"md\"`. */\n size?: SpinnerSize;\n /**\n * Accessible label announced by screen readers.\n * Defaults to `\"Loading…\"`. Set to `\"\"` to silence if a sibling label is present.\n */\n label?: string;\n}\n\n/**\n * Indeterminate loading indicator following the Adwaita spinner style.\n *\n * Renders a spinning ring using a pure CSS animation that respects\n * `prefers-reduced-motion`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport const Spinner = ({\n size = 'md',\n label = 'Loading\\u2026',\n className,\n ...props\n}: SpinnerProps) => {\n const classes = [styles.spinner, styles[size], className].filter(Boolean).join(' ');\n\n return (\n <span\n role=\"status\"\n aria-label={label || undefined}\n aria-hidden={label === '' ? true : undefined}\n className={classes}\n {...props}\n />\n );\n};\n"],"mappings":"+EAwBA,IAAa,GAAW,CACtB,OAAO,KACP,QAAQ,WACR,YACA,GAAG,KACe,CAClB,IAAM,EAAU,CAAC,EAAA,QAAO,QAAS,EAAA,QAAO,GAAO,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAElF,OACE,EAAA,EAAA,KAAC,OAAD,CACE,KAAK,SACL,aAAY,GAAS,IAAA,GACrB,cAAa,IAAU,GAAK,GAAO,IAAA,GACnC,UAAW,EACX,GAAI,CACL,CAAA,CAEL"}
|
|
@@ -17,4 +17,4 @@ export interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
17
17
|
*
|
|
18
18
|
* @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html
|
|
19
19
|
*/
|
|
20
|
-
export declare
|
|
20
|
+
export declare const Spinner: ({ size, label, className, ...props }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e from "./Spinner.module.css.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/Spinner/Spinner.tsx
|
|
4
|
-
|
|
4
|
+
var n = ({ size: n = "md", label: r = "Loading…", className: i, ...a }) => {
|
|
5
5
|
let o = [
|
|
6
6
|
e.spinner,
|
|
7
7
|
e[n],
|
|
@@ -14,7 +14,7 @@ function n({ size: n = "md", label: r = "Loading…", className: i, ...a }) {
|
|
|
14
14
|
className: o,
|
|
15
15
|
...a
|
|
16
16
|
});
|
|
17
|
-
}
|
|
17
|
+
};
|
|
18
18
|
//#endregion
|
|
19
19
|
export { n as Spinner };
|
|
20
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport styles from './Spinner.module.css';\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg';\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {\n /** Size of the spinner. Defaults to `\"md\"`. */\n size?: SpinnerSize;\n /**\n * Accessible label announced by screen readers.\n * Defaults to `\"Loading…\"`. Set to `\"\"` to silence if a sibling label is present.\n */\n label?: string;\n}\n\n/**\n * Indeterminate loading indicator following the Adwaita spinner style.\n *\n * Renders a spinning ring using a pure CSS animation that respects\n * `prefers-reduced-motion`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"Spinner.js","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport styles from './Spinner.module.css';\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg';\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {\n /** Size of the spinner. Defaults to `\"md\"`. */\n size?: SpinnerSize;\n /**\n * Accessible label announced by screen readers.\n * Defaults to `\"Loading…\"`. Set to `\"\"` to silence if a sibling label is present.\n */\n label?: string;\n}\n\n/**\n * Indeterminate loading indicator following the Adwaita spinner style.\n *\n * Renders a spinning ring using a pure CSS animation that respects\n * `prefers-reduced-motion`.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html\n */\nexport const Spinner = ({\n size = 'md',\n label = 'Loading\\u2026',\n className,\n ...props\n}: SpinnerProps) => {\n const classes = [styles.spinner, styles[size], className].filter(Boolean).join(' ');\n\n return (\n <span\n role=\"status\"\n aria-label={label || undefined}\n aria-hidden={label === '' ? true : undefined}\n className={classes}\n {...props}\n />\n );\n};\n"],"mappings":";;;AAwBA,IAAa,KAAW,EACtB,UAAO,MACP,WAAQ,YACR,cACA,GAAG,QACe;CAClB,IAAM,IAAU;EAAC,EAAO;EAAS,EAAO;EAAO;CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;CAElF,OACE,kBAAC,QAAD;EACE,MAAK;EACL,cAAY,KAAS,KAAA;EACrB,eAAa,MAAU,KAAK,KAAO,KAAA;EACnC,WAAW;EACX,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./Spinner/Spinner.cjs");exports.Spinner=e.Spinner;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./SplitButton.module.css.cjs");let t=require("react"),n=require("react-dom"),r=require("react/jsx-runtime");var i=({label:i,variant:a=`default`,dropdownContent:o,dropdownLabel:s=`More options`,disabled:c=!1,onClick:l,className:u,...d})=>{let[f,p]=(0,t.useState)(!1),[m,h]=(0,t.useState)({}),g=(0,t.useRef)(null),_=(0,t.useRef)(null),v=(0,t.useRef)(null),y=(0,t.useCallback)(()=>p(!1),[]),b=(0,t.useCallback)(()=>{if(!_.current||!v.current)return;let e=_.current.getBoundingClientRect(),t=v.current.getBoundingClientRect(),n=window.innerWidth,r=e.right-t.width;r<8&&(r=8),r+t.width>n-8&&(r=n-t.width-8),h({top:e.bottom+6,left:r})},[]);(0,t.useEffect)(()=>{if(!f)return;let e=requestAnimationFrame(()=>{b(),window.addEventListener(`scroll`,b,{passive:!0,capture:!0}),window.addEventListener(`resize`,b,{passive:!0})});return()=>{cancelAnimationFrame(e),window.removeEventListener(`scroll`,b,{capture:!0}),window.removeEventListener(`resize`,b)}},[f,b]),(0,t.useEffect)(()=>{if(!f)return;let e=e=>{!g.current?.contains(e.target)&&!v.current?.contains(e.target)&&y()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[f,y]);let x=e=>{e.key===`Escape`&&(e.stopPropagation(),y(),_.current?.focus())},S=[e.default.container,e.default[a],u].filter(Boolean).join(` `),C=(0,r.jsx)(`div`,{ref:v,role:`dialog`,"aria-label":s,tabIndex:-1,className:[e.default.dropdown,f?e.default.dropdownVisible:null].filter(Boolean).join(` `),style:Object.keys(m).length?{...m,position:`fixed`}:{visibility:`hidden`,pointerEvents:`none`,top:-9999,left:-9999,position:`fixed`},onKeyDown:x,children:o});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(`div`,{ref:g,className:S,children:[(0,r.jsx)(`button`,{className:e.default.primary,disabled:c,onClick:l,...d,children:i}),(0,r.jsx)(`span`,{className:e.default.separator,"aria-hidden":`true`}),(0,r.jsx)(`button`,{ref:_,className:e.default.toggle,disabled:c,"aria-label":s,"aria-haspopup":`dialog`,"aria-expanded":f,onClick:()=>p(e=>!e),children:(0,r.jsx)(`svg`,{className:e.default.chevron,width:`16`,height:`16`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,r.jsx)(`path`,{d:`M4 6l4 4 4-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),f&&(typeof document<`u`?(0,n.createPortal)(C,document.body):C)]})};exports.SplitButton=i;
|
|
2
2
|
//# sourceMappingURL=SplitButton.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButton.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n type ButtonHTMLAttributes,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { createPortal } from 'react-dom';\n\nimport styles from './SplitButton.module.css';\n\nexport type SplitButtonVariant = 'default' | 'suggested' | 'destructive';\n\nexport interface SplitButtonProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Label shown in the primary button. */\n label: string;\n /** Visual style. Applies to both the primary and toggle halves. */\n variant?: SplitButtonVariant;\n /** Content rendered inside the dropdown panel when the arrow is clicked. */\n dropdownContent: ReactNode;\n /** Accessible label for the dropdown toggle button. Defaults to \"More options\". */\n dropdownLabel?: string;\n /** Whether both halves are disabled. */\n disabled?: boolean;\n}\n\n/**\n * Primary action button with an attached dropdown arrow.\n *\n * Clicking the label half fires `onClick`; clicking the arrow half opens a\n * floating panel with `dropdownContent` (menus, options, etc.).\n *\n * Mirrors `AdwSplitButton` — supports `suggested` and `destructive` variants.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SplitButton.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"SplitButton.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n type ButtonHTMLAttributes,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { createPortal } from 'react-dom';\n\nimport styles from './SplitButton.module.css';\n\nexport type SplitButtonVariant = 'default' | 'suggested' | 'destructive';\n\nexport interface SplitButtonProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Label shown in the primary button. */\n label: string;\n /** Visual style. Applies to both the primary and toggle halves. */\n variant?: SplitButtonVariant;\n /** Content rendered inside the dropdown panel when the arrow is clicked. */\n dropdownContent: ReactNode;\n /** Accessible label for the dropdown toggle button. Defaults to \"More options\". */\n dropdownLabel?: string;\n /** Whether both halves are disabled. */\n disabled?: boolean;\n}\n\n/**\n * Primary action button with an attached dropdown arrow.\n *\n * Clicking the label half fires `onClick`; clicking the arrow half opens a\n * floating panel with `dropdownContent` (menus, options, etc.).\n *\n * Mirrors `AdwSplitButton` — supports `suggested` and `destructive` variants.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SplitButton.html\n */\nexport const SplitButton = ({\n label,\n variant = 'default',\n dropdownContent,\n dropdownLabel = 'More options',\n disabled = false,\n onClick,\n className,\n ...props\n}: SplitButtonProps) => {\n const [open, setOpen] = useState(false);\n const [dropdownStyle, setDropdownStyle] = useState<CSSProperties>({});\n\n const containerRef = useRef<HTMLDivElement>(null);\n const toggleRef = useRef<HTMLButtonElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n\n const close = useCallback(() => setOpen(false), []);\n\n // Position dropdown below the toggle button\n const place = useCallback(() => {\n if (!toggleRef.current || !panelRef.current) {\n return;\n }\n\n const triggerRect = toggleRef.current.getBoundingClientRect();\n const panelRect = panelRef.current.getBoundingClientRect();\n const vw = window.innerWidth;\n\n let left = triggerRect.right - panelRect.width;\n if (left < 8) {\n left = 8;\n }\n\n if (left + panelRect.width > vw - 8) {\n left = vw - panelRect.width - 8;\n }\n\n setDropdownStyle({\n top: triggerRect.bottom + 6,\n left,\n });\n }, []);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n\n const id = requestAnimationFrame(() => {\n place();\n window.addEventListener('scroll', place, { passive: true, capture: true });\n window.addEventListener('resize', place, { passive: true });\n });\n\n return () => {\n cancelAnimationFrame(id);\n window.removeEventListener('scroll', place, { capture: true });\n window.removeEventListener('resize', place);\n };\n }, [open, place]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) {\n return;\n }\n\n const handler = (e: MouseEvent) => {\n if (\n !containerRef.current?.contains(e.target as Node) &&\n !panelRef.current?.contains(e.target as Node)\n ) {\n close();\n }\n };\n\n document.addEventListener('mousedown', handler);\n\n return () => document.removeEventListener('mousedown', handler);\n }, [open, close]);\n\n const handlePanelKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n close();\n toggleRef.current?.focus();\n }\n };\n\n const containerClass = [styles.container, styles[variant], className].filter(Boolean).join(' ');\n\n const panel = (\n <div\n ref={panelRef}\n role=\"dialog\"\n aria-label={dropdownLabel}\n tabIndex={-1}\n className={[styles.dropdown, open ? styles.dropdownVisible : null].filter(Boolean).join(' ')}\n style={\n Object.keys(dropdownStyle).length\n ? { ...dropdownStyle, position: 'fixed' }\n : {\n visibility: 'hidden',\n pointerEvents: 'none',\n top: -9999,\n left: -9999,\n position: 'fixed',\n }\n }\n onKeyDown={handlePanelKeyDown}\n >\n {dropdownContent}\n </div>\n );\n\n return (\n <>\n <div ref={containerRef} className={containerClass}>\n <button className={styles.primary} disabled={disabled} onClick={onClick} {...props}>\n {label}\n </button>\n\n <span className={styles.separator} aria-hidden=\"true\" />\n\n <button\n ref={toggleRef}\n className={styles.toggle}\n disabled={disabled}\n aria-label={dropdownLabel}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onClick={() => setOpen((v) => !v)}\n >\n <svg\n className={styles.chevron}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n d=\"M4 6l4 4 4-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n\n {open && (typeof document !== 'undefined' ? createPortal(panel, document.body) : panel)}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -22,4 +22,4 @@ export interface SplitButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonEl
|
|
|
22
22
|
*
|
|
23
23
|
* @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SplitButton.html
|
|
24
24
|
*/
|
|
25
|
-
export declare
|
|
25
|
+
export declare const SplitButton: ({ label, variant, dropdownContent, dropdownLabel, disabled, onClick, className, ...props }: SplitButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,7 +3,7 @@ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "re
|
|
|
3
3
|
import { createPortal as a } from "react-dom";
|
|
4
4
|
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/SplitButton/SplitButton.tsx
|
|
6
|
-
|
|
6
|
+
var l = ({ label: l, variant: u = "default", dropdownContent: d, dropdownLabel: f = "More options", disabled: p = !1, onClick: m, className: h, ...g }) => {
|
|
7
7
|
let [_, v] = i(!1), [y, b] = i({}), x = r(null), S = r(null), C = r(null), w = t(() => v(!1), []), T = t(() => {
|
|
8
8
|
if (!S.current || !C.current) return;
|
|
9
9
|
let e = S.current.getBoundingClientRect(), t = C.current.getBoundingClientRect(), n = window.innerWidth, r = e.right - t.width;
|
|
@@ -97,7 +97,7 @@ function l({ label: l, variant: u = "default", dropdownContent: d, dropdownLabel
|
|
|
97
97
|
})
|
|
98
98
|
]
|
|
99
99
|
}), _ && (typeof document < "u" ? a(O, document.body) : O)] });
|
|
100
|
-
}
|
|
100
|
+
};
|
|
101
101
|
//#endregion
|
|
102
102
|
export { l as SplitButton };
|
|
103
103
|
|