@gnome-ui/react 1.45.1 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +106 -108
- 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 +37 -38
- 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 +51 -52
- 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.d.ts +6 -0
- package/dist/components/Dialog/dialogUtils.js +11 -2
- 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 +89 -85
- 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 +11 -10
- 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 +75 -76
- 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 +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":"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"}
|
|
@@ -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":"6HAyCA,IAAa,GAAe,CAC1B,QACA,UAAU,UACV,kBACA,gBAAgB,eAChB,WAAW,GACX,UACA,YACA,GAAG,KACmB,CACtB,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,EAAK,EAChC,CAAC,EAAe,IAAA,EAAA,EAAA,UAA4C,CAAC,CAAC,EAE9D,GAAA,EAAA,EAAA,QAAsC,IAAI,EAC1C,GAAA,EAAA,EAAA,QAAsC,IAAI,EAC1C,GAAA,EAAA,EAAA,QAAkC,IAAI,EAEtC,GAAA,EAAA,EAAA,iBAA0B,EAAQ,EAAK,EAAG,CAAC,CAAC,EAG5C,GAAA,EAAA,EAAA,iBAA0B,CAC9B,GAAI,CAAC,EAAU,SAAW,CAAC,EAAS,QAClC,OAGF,IAAM,EAAc,EAAU,QAAQ,sBAAsB,EACtD,EAAY,EAAS,QAAQ,sBAAsB,EACnD,EAAK,OAAO,WAEd,EAAO,EAAY,MAAQ,EAAU,MACrC,EAAO,IACT,EAAO,GAGL,EAAO,EAAU,MAAQ,EAAK,IAChC,EAAO,EAAK,EAAU,MAAQ,GAGhC,EAAiB,CACf,IAAK,EAAY,OAAS,EAC1B,MACF,CAAC,CACH,EAAG,CAAC,CAAC,GAEL,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EACH,OAGF,IAAM,EAAK,0BAA4B,CACrC,EAAM,EACN,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,GAAM,QAAS,EAAK,CAAC,EACzE,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,EAAK,CAAC,CAC5D,CAAC,EAED,UAAa,CACX,qBAAqB,CAAE,EACvB,OAAO,oBAAoB,SAAU,EAAO,CAAE,QAAS,EAAK,CAAC,EAC7D,OAAO,oBAAoB,SAAU,CAAK,CAC5C,CACF,EAAG,CAAC,EAAM,CAAK,CAAC,GAGhB,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EACH,OAGF,IAAM,EAAW,GAAkB,CAE/B,CAAC,EAAa,SAAS,SAAS,EAAE,MAAc,GAChD,CAAC,EAAS,SAAS,SAAS,EAAE,MAAc,GAE5C,EAAM,CAEV,EAIA,OAFA,SAAS,iBAAiB,YAAa,CAAO,MAEjC,SAAS,oBAAoB,YAAa,CAAO,CAChE,EAAG,CAAC,EAAM,CAAK,CAAC,EAEhB,IAAM,EAAsB,GAAqC,CAC3D,EAAE,MAAQ,WACZ,EAAE,gBAAgB,EAClB,EAAM,EACN,EAAU,SAAS,MAAM,EAE7B,EAEM,EAAiB,CAAC,EAAA,QAAO,UAAW,EAAA,QAAO,GAAU,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAExF,GACJ,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,SACL,aAAY,EACZ,SAAU,GACV,UAAW,CAAC,EAAA,QAAO,SAAU,EAAO,EAAA,QAAO,gBAAkB,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC3F,MACE,OAAO,KAAK,CAAa,EAAE,OACvB,CAAE,GAAG,EAAe,SAAU,OAAQ,EACtC,CACE,WAAY,SACZ,cAAe,OACf,IAAK,MACL,KAAM,MACN,SAAU,OACZ,EAEN,UAAW,WAEV,CACE,CAAA,EAGP,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,IAAK,EAAc,UAAW,WAAnC,EACE,EAAA,EAAA,KAAC,SAAD,CAAQ,UAAW,EAAA,QAAO,QAAmB,WAAmB,UAAS,GAAI,WAC1E,CACK,CAAA,GAER,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,UAAW,cAAY,MAAQ,CAAA,GAEvD,EAAA,EAAA,KAAC,SAAD,CACE,IAAK,EACL,UAAW,EAAA,QAAO,OACR,WACV,aAAY,EACZ,gBAAc,SACd,gBAAe,EACf,YAAe,EAAS,GAAM,CAAC,CAAC,YAEhC,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,QAAO,QAClB,MAAM,KACN,OAAO,KACP,QAAQ,YACR,cAAY,OACZ,UAAU,kBAEV,EAAA,EAAA,KAAC,OAAD,CACE,EAAE,eACF,KAAK,OACL,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,OAChB,CAAA,CACE,CAAA,CACC,CAAA,CACL,IAEJ,IAAS,OAAO,SAAa,KAAA,EAAA,EAAA,cAA2B,EAAO,SAAS,IAAI,EAAI,EACjF,CAAA,CAAA,CAEN"}
|
|
@@ -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
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitButton.js","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.js","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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./SplitButton/SplitButton.cjs");exports.SplitButton=e.SplitButton;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("./StatusBadge.module.css.cjs");let t=require("react/jsx-runtime");var n=({variant:n=`neutral`,className:r,children:i,...a})=>(0,t.jsx)(`span`,{className:[e.default.badge,e.default[n],r].filter(Boolean).join(` `),...a,children:i});exports.StatusBadge=n;
|
|
2
2
|
//# sourceMappingURL=StatusBadge.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './StatusBadge.module.css';\n\nexport type StatusBadgeVariant = 'success' | 'warning' | 'error' | 'new' | 'accent' | 'neutral';\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport
|
|
1
|
+
{"version":3,"file":"StatusBadge.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './StatusBadge.module.css';\n\nexport type StatusBadgeVariant = 'success' | 'warning' | 'error' | 'new' | 'accent' | 'neutral';\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport const StatusBadge = ({\n variant = 'neutral',\n className,\n children,\n ...props\n}: StatusBadgeProps) => {\n return (\n <span\n className={[styles.badge, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </span>\n );\n};\n"],"mappings":"mFAgCA,IAAa,GAAe,CAC1B,UAAU,UACV,YACA,WACA,GAAG,MAGD,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,CAAC,EAAA,QAAO,MAAO,EAAA,QAAO,GAAU,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC9E,GAAI,EAEH,UACG,CAAA"}
|
|
@@ -25,4 +25,4 @@ export interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
25
25
|
* <StatusBadge variant="new">new</StatusBadge>
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export declare
|
|
28
|
+
export declare const StatusBadge: ({ variant, className, children, ...props }: StatusBadgeProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import e from "./StatusBadge.module.css.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region src/components/StatusBadge/StatusBadge.tsx
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
14
|
-
}
|
|
4
|
+
var n = ({ variant: n = "neutral", className: r, children: i, ...a }) => /* @__PURE__ */ t("span", {
|
|
5
|
+
className: [
|
|
6
|
+
e.badge,
|
|
7
|
+
e[n],
|
|
8
|
+
r
|
|
9
|
+
].filter(Boolean).join(" "),
|
|
10
|
+
...a,
|
|
11
|
+
children: i
|
|
12
|
+
});
|
|
15
13
|
//#endregion
|
|
16
14
|
export { n as StatusBadge };
|
|
17
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './StatusBadge.module.css';\n\nexport type StatusBadgeVariant = 'success' | 'warning' | 'error' | 'new' | 'accent' | 'neutral';\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\n\nimport styles from './StatusBadge.module.css';\n\nexport type StatusBadgeVariant = 'success' | 'warning' | 'error' | 'new' | 'accent' | 'neutral';\n\nexport interface StatusBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Visual style. Defaults to `\"neutral\"`.\n * - `success` — green (`--gnome-success-*`), for published / active states.\n * - `warning` — yellow (`--gnome-warning-*`), for beta / pending states.\n * - `error` — red (`--gnome-error-*`), for failed / rejected states.\n * - `new` — purple (`--gnome-new-*`), for newly released / featured items.\n * - `accent` — blue (`--gnome-accent-*`), for highlighted / primary states.\n * - `neutral` — muted overlay, for draft / archived / inactive states.\n */\n variant?: StatusBadgeVariant;\n children: ReactNode;\n}\n\n/**\n * Pill-shaped text label for entity status — published, beta, new, etc.\n *\n * Unlike `Badge` (which is for numeric counts), `StatusBadge` is designed\n * for short human-readable state labels.\n *\n * ```tsx\n * <StatusBadge variant=\"success\">published</StatusBadge>\n * <StatusBadge variant=\"warning\">beta</StatusBadge>\n * <StatusBadge variant=\"new\">new</StatusBadge>\n * ```\n */\nexport const StatusBadge = ({\n variant = 'neutral',\n className,\n children,\n ...props\n}: StatusBadgeProps) => {\n return (\n <span\n className={[styles.badge, styles[variant], className].filter(Boolean).join(' ')}\n {...props}\n >\n {children}\n </span>\n );\n};\n"],"mappings":";;;AAgCA,IAAa,KAAe,EAC1B,aAAU,WACV,cACA,aACA,GAAG,QAGD,kBAAC,QAAD;CACE,WAAW;EAAC,EAAO;EAAO,EAAO;EAAU;CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;CAC9E,GAAI;CAEH;AACG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./StatusBadge/StatusBadge.cjs");exports.StatusBadge=e.StatusBadge;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require("../Icon/Icon.cjs"),t=require("./StatusPage.module.css.cjs");let n=require("react/jsx-runtime");var r=({icon:r,iconNode:i,title:a,description:o,children:s,compact:c=!1,className:l,...u})=>{let d=c?64:128,f=r?(0,n.jsx)(e.Icon,{icon:r,width:d,height:d,"aria-hidden":!0}):i??null;return(0,n.jsxs)(`div`,{className:[t.default.page,c?t.default.compact:null,l].filter(Boolean).join(` `),...u,children:[f&&(0,n.jsx)(`div`,{className:t.default.iconWrap,"aria-hidden":`true`,children:f}),(0,n.jsx)(`p`,{className:t.default.title,children:a}),o&&(0,n.jsx)(`p`,{className:t.default.description,children:o}),s&&(0,n.jsx)(`div`,{className:t.default.actions,children:s})]})};exports.StatusPage=r;
|
|
2
2
|
//# sourceMappingURL=StatusPage.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusPage.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport styles from './StatusPage.module.css';\n\nexport interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Large icon displayed above the title.\n * Use an icon from `@gnome-ui/icons` or omit for a text-only page.\n */\n icon?: IconDefinition;\n /**\n * Custom icon node. Use when you need an image, emoji, or\n * a rendered SVG that is not part of `@gnome-ui/icons`.\n * Ignored when `icon` is also provided.\n */\n iconNode?: ReactNode;\n /** Main heading. Keep it short — one noun phrase. */\n title: string;\n /** Supporting description rendered below the title. */\n description?: string;\n /**\n * Optional action area — typically one or two `<Button>` elements.\n * Rendered below the description.\n */\n children?: ReactNode;\n /**\n * Reduces padding, icon size, and title scale for use in compact\n * contexts such as sidebars, popovers, and small panels.\n * Mirrors the `.compact` style class.\n */\n compact?: boolean;\n}\n\n/**\n * Empty-state / status page following the Adwaita `AdwStatusPage` pattern.\n *\n * Use to fill a view with no content yet, an error state, or a completion\n * confirmation. Centred both horizontally and vertically.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html\n * @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html\n */\nexport
|
|
1
|
+
{"version":3,"file":"StatusPage.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { IconDefinition } from '@gnome-ui/icons';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Icon } from '../Icon';\n\nimport styles from './StatusPage.module.css';\n\nexport interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Large icon displayed above the title.\n * Use an icon from `@gnome-ui/icons` or omit for a text-only page.\n */\n icon?: IconDefinition;\n /**\n * Custom icon node. Use when you need an image, emoji, or\n * a rendered SVG that is not part of `@gnome-ui/icons`.\n * Ignored when `icon` is also provided.\n */\n iconNode?: ReactNode;\n /** Main heading. Keep it short — one noun phrase. */\n title: string;\n /** Supporting description rendered below the title. */\n description?: string;\n /**\n * Optional action area — typically one or two `<Button>` elements.\n * Rendered below the description.\n */\n children?: ReactNode;\n /**\n * Reduces padding, icon size, and title scale for use in compact\n * contexts such as sidebars, popovers, and small panels.\n * Mirrors the `.compact` style class.\n */\n compact?: boolean;\n}\n\n/**\n * Empty-state / status page following the Adwaita `AdwStatusPage` pattern.\n *\n * Use to fill a view with no content yet, an error state, or a completion\n * confirmation. Centred both horizontally and vertically.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html\n * @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html\n */\nexport const StatusPage = ({\n icon,\n iconNode,\n title,\n description,\n children,\n compact = false,\n className,\n ...props\n}: StatusPageProps) => {\n const iconSize = compact ? 64 : 128;\n const iconContent = icon ? (\n <Icon icon={icon} width={iconSize} height={iconSize} aria-hidden />\n ) : (\n (iconNode ?? null)\n );\n\n return (\n <div\n className={[styles.page, compact ? styles.compact : null, className]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {iconContent && (\n <div className={styles.iconWrap} aria-hidden=\"true\">\n {iconContent}\n </div>\n )}\n\n <p className={styles.title}>{title}</p>\n\n {description && <p className={styles.description}>{description}</p>}\n\n {children && <div className={styles.actions}>{children}</div>}\n </div>\n );\n};\n"],"mappings":"gHA6CA,IAAa,GAAc,CACzB,OACA,WACA,QACA,cACA,WACA,UAAU,GACV,YACA,GAAG,KACkB,CACrB,IAAM,EAAW,EAAU,GAAK,IAC1B,EAAc,GAClB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,MAAO,EAAU,OAAQ,EAAU,cAAA,EAAa,CAAA,EAEjE,GAAY,KAGf,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,EAAA,QAAO,QAAU,KAAM,CAAS,EAChE,OAAO,OAAO,EACd,KAAK,GAAG,EACX,GAAI,WAJN,CAMG,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,SAAU,cAAY,gBAC1C,CACE,CAAA,GAGP,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,eAAQ,CAAS,CAAA,EAErC,IAAe,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,qBAAc,CAAe,CAAA,EAEjE,IAAY,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,QAAU,UAAc,CAAA,CACzD,GAET"}
|
|
@@ -37,4 +37,4 @@ export interface StatusPageProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
37
37
|
* @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.StatusPage.html
|
|
38
38
|
* @see https://developer.gnome.org/hig/patterns/feedback/empty-states.html
|
|
39
39
|
*/
|
|
40
|
-
export declare
|
|
40
|
+
export declare const StatusPage: ({ icon, iconNode, title, description, children, compact, className, ...props }: StatusPageProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,7 +2,7 @@ import { Icon as e } from "../Icon/Icon.js";
|
|
|
2
2
|
import t from "./StatusPage.module.css.js";
|
|
3
3
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/StatusPage/StatusPage.tsx
|
|
5
|
-
|
|
5
|
+
var i = ({ icon: i, iconNode: a, title: o, description: s, children: c, compact: l = !1, className: u, ...d }) => {
|
|
6
6
|
let f = l ? 64 : 128, p = i ? /* @__PURE__ */ n(e, {
|
|
7
7
|
icon: i,
|
|
8
8
|
width: f,
|
|
@@ -36,7 +36,7 @@ function i({ icon: i, iconNode: a, title: o, description: s, children: c, compac
|
|
|
36
36
|
})
|
|
37
37
|
]
|
|
38
38
|
});
|
|
39
|
-
}
|
|
39
|
+
};
|
|
40
40
|
//#endregion
|
|
41
41
|
export { i as StatusPage };
|
|
42
42
|
|