@gnome-ui/react 1.36.2 → 1.36.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/dist/components/AboutDialog/AboutDialog.cjs +2 -0
- package/dist/components/AboutDialog/AboutDialog.cjs.map +1 -0
- package/dist/components/AboutDialog/AboutDialog.js +185 -0
- package/dist/components/AboutDialog/AboutDialog.js.map +1 -0
- package/dist/components/AboutDialog/AboutDialog.module.css.cjs +2 -0
- package/dist/components/AboutDialog/AboutDialog.module.css.cjs.map +1 -0
- package/dist/components/AboutDialog/AboutDialog.module.css.js +35 -0
- package/dist/components/AboutDialog/AboutDialog.module.css.js.map +1 -0
- package/dist/components/AboutDialog.cjs +1 -0
- package/dist/components/AboutDialog.d.ts +2 -0
- package/dist/components/AboutDialog.js +2 -0
- package/dist/components/ActionRow/ActionRow.cjs +2 -0
- package/dist/components/ActionRow/ActionRow.cjs.map +1 -0
- package/dist/components/ActionRow/ActionRow.js +39 -0
- package/dist/components/ActionRow/ActionRow.js.map +1 -0
- package/dist/components/ActionRow/ActionRow.module.css.cjs +2 -0
- package/dist/components/ActionRow/ActionRow.module.css.cjs.map +1 -0
- package/dist/components/ActionRow/ActionRow.module.css.js +15 -0
- package/dist/components/ActionRow/ActionRow.module.css.js.map +1 -0
- package/dist/components/ActionRow.cjs +1 -0
- package/dist/components/ActionRow.d.ts +2 -0
- package/dist/components/ActionRow.js +2 -0
- package/dist/components/Avatar/Avatar.cjs +2 -0
- package/dist/components/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.js +50 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.cjs +2 -0
- package/dist/components/Avatar/Avatar.module.css.cjs.map +1 -0
- package/dist/components/Avatar/Avatar.module.css.js +22 -0
- package/dist/components/Avatar/Avatar.module.css.js.map +1 -0
- package/dist/components/Avatar.cjs +1 -0
- package/dist/components/Avatar.d.ts +2 -0
- package/dist/components/Avatar.js +2 -0
- package/dist/components/Badge/Badge.cjs +2 -0
- package/dist/components/Badge/Badge.cjs.map +1 -0
- package/dist/components/Badge/Badge.js +24 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/Badge.module.css.cjs +2 -0
- package/dist/components/Badge/Badge.module.css.cjs.map +1 -0
- package/dist/components/Badge/Badge.module.css.js +15 -0
- package/dist/components/Badge/Badge.module.css.js.map +1 -0
- package/dist/components/Badge.cjs +1 -0
- package/dist/components/Badge.d.ts +2 -0
- package/dist/components/Badge.js +2 -0
- package/dist/components/Banner/Banner.cjs +2 -0
- package/dist/components/Banner/Banner.cjs.map +1 -0
- package/dist/components/Banner/Banner.js +44 -0
- package/dist/components/Banner/Banner.js.map +1 -0
- package/dist/components/Banner/Banner.module.css.cjs +2 -0
- package/dist/components/Banner/Banner.module.css.cjs.map +1 -0
- package/dist/components/Banner/Banner.module.css.js +20 -0
- package/dist/components/Banner/Banner.module.css.js.map +1 -0
- package/dist/components/Banner.cjs +1 -0
- package/dist/components/Banner.d.ts +2 -0
- package/dist/components/Banner.js +2 -0
- package/dist/components/Bin/Bin.cjs +2 -0
- package/dist/components/Bin/Bin.cjs.map +1 -0
- package/dist/components/Bin/Bin.js +12 -0
- package/dist/components/Bin/Bin.js.map +1 -0
- package/dist/components/Bin.cjs +1 -0
- package/dist/components/Bin.d.ts +2 -0
- package/dist/components/Bin.js +2 -0
- package/dist/components/Blockquote/Blockquote.cjs +2 -0
- package/dist/components/Blockquote/Blockquote.cjs.map +1 -0
- package/dist/components/Blockquote/Blockquote.js +34 -0
- package/dist/components/Blockquote/Blockquote.js.map +1 -0
- package/dist/components/Blockquote/Blockquote.module.css.cjs +2 -0
- package/dist/components/Blockquote/Blockquote.module.css.cjs.map +1 -0
- package/dist/components/Blockquote/Blockquote.module.css.js +17 -0
- package/dist/components/Blockquote/Blockquote.module.css.js.map +1 -0
- package/dist/components/Blockquote.cjs +1 -0
- package/dist/components/Blockquote.d.ts +2 -0
- package/dist/components/Blockquote.js +2 -0
- package/dist/components/BottomSheet/BottomSheet.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.js +60 -0
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.js +15 -0
- package/dist/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
- package/dist/components/BottomSheet.cjs +1 -0
- package/dist/components/BottomSheet.d.ts +2 -0
- package/dist/components/BottomSheet.js +2 -0
- package/dist/components/Box/Box.cjs +2 -0
- package/dist/components/Box/Box.cjs.map +1 -0
- package/dist/components/Box/Box.js +22 -0
- package/dist/components/Box/Box.js.map +1 -0
- package/dist/components/Box.cjs +1 -0
- package/dist/components/Box.d.ts +2 -0
- package/dist/components/Box.js +2 -0
- package/dist/components/BoxedList/BoxedList.cjs +2 -0
- package/dist/components/BoxedList/BoxedList.cjs.map +1 -0
- package/dist/components/BoxedList/BoxedList.js +25 -0
- package/dist/components/BoxedList/BoxedList.js.map +1 -0
- package/dist/components/BoxedList/BoxedList.module.css.cjs +2 -0
- package/dist/components/BoxedList/BoxedList.module.css.cjs.map +1 -0
- package/dist/components/BoxedList/BoxedList.module.css.js +11 -0
- package/dist/components/BoxedList/BoxedList.module.css.js.map +1 -0
- package/dist/components/BoxedList.cjs +1 -0
- package/dist/components/BoxedList.d.ts +2 -0
- package/dist/components/BoxedList.js +2 -0
- package/dist/components/BreakpointBin/BreakpointBin.cjs +2 -0
- package/dist/components/BreakpointBin/BreakpointBin.cjs.map +1 -0
- package/dist/components/BreakpointBin/BreakpointBin.js +37 -0
- package/dist/components/BreakpointBin/BreakpointBin.js.map +1 -0
- package/dist/components/BreakpointBin.cjs +1 -0
- package/dist/components/BreakpointBin.d.ts +2 -0
- package/dist/components/BreakpointBin.js +2 -0
- package/dist/components/Button/Button.cjs +2 -0
- package/dist/components/Button/Button.cjs.map +1 -0
- package/dist/components/Button/Button.js +25 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/Button.module.css.cjs +2 -0
- package/dist/components/Button/Button.module.css.cjs.map +1 -0
- package/dist/components/Button/Button.module.css.js +17 -0
- package/dist/components/Button/Button.module.css.js.map +1 -0
- package/dist/components/Button.cjs +1 -0
- package/dist/components/Button.d.ts +2 -0
- package/dist/components/Button.js +2 -0
- package/dist/components/ButtonContent/ButtonContent.cjs +2 -0
- package/dist/components/ButtonContent/ButtonContent.cjs.map +1 -0
- package/dist/components/ButtonContent/ButtonContent.js +33 -0
- package/dist/components/ButtonContent/ButtonContent.js.map +1 -0
- package/dist/components/ButtonContent/ButtonContent.module.css.cjs +2 -0
- package/dist/components/ButtonContent/ButtonContent.module.css.cjs.map +1 -0
- package/dist/components/ButtonContent/ButtonContent.module.css.js +9 -0
- package/dist/components/ButtonContent/ButtonContent.module.css.js.map +1 -0
- package/dist/components/ButtonContent.cjs +1 -0
- package/dist/components/ButtonContent.d.ts +2 -0
- package/dist/components/ButtonContent.js +2 -0
- package/dist/components/ButtonRow/ButtonRow.cjs +2 -0
- package/dist/components/ButtonRow/ButtonRow.cjs.map +1 -0
- package/dist/components/ButtonRow/ButtonRow.js +31 -0
- package/dist/components/ButtonRow/ButtonRow.js.map +1 -0
- package/dist/components/ButtonRow/ButtonRow.module.css.cjs +2 -0
- package/dist/components/ButtonRow/ButtonRow.module.css.cjs.map +1 -0
- package/dist/components/ButtonRow/ButtonRow.module.css.js +13 -0
- package/dist/components/ButtonRow/ButtonRow.module.css.js.map +1 -0
- package/dist/components/ButtonRow.cjs +1 -0
- package/dist/components/ButtonRow.d.ts +2 -0
- package/dist/components/ButtonRow.js +2 -0
- package/dist/components/Card/Card.cjs +2 -0
- package/dist/components/Card/Card.cjs.map +1 -0
- package/dist/components/Card/Card.js +19 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/Card.module.css.cjs +2 -0
- package/dist/components/Card/Card.module.css.cjs.map +1 -0
- package/dist/components/Card/Card.module.css.js +13 -0
- package/dist/components/Card/Card.module.css.js.map +1 -0
- package/dist/components/Card.cjs +1 -0
- package/dist/components/Card.d.ts +2 -0
- package/dist/components/Card.js +2 -0
- package/dist/components/Carousel/Carousel.cjs +2 -0
- package/dist/components/Carousel/Carousel.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.js +112 -0
- package/dist/components/Carousel/Carousel.js.map +1 -0
- package/dist/components/Carousel/Carousel.module.css.cjs +2 -0
- package/dist/components/Carousel/Carousel.module.css.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.module.css.js +16 -0
- package/dist/components/Carousel/Carousel.module.css.js.map +1 -0
- package/dist/components/Carousel.cjs +1 -0
- package/dist/components/Carousel.d.ts +2 -0
- package/dist/components/Carousel.js +2 -0
- package/dist/components/CheckRow/CheckRow.cjs +2 -0
- package/dist/components/CheckRow/CheckRow.cjs.map +1 -0
- package/dist/components/CheckRow/CheckRow.js +66 -0
- package/dist/components/CheckRow/CheckRow.js.map +1 -0
- package/dist/components/CheckRow/CheckRow.module.css.cjs +2 -0
- package/dist/components/CheckRow/CheckRow.module.css.cjs.map +1 -0
- package/dist/components/CheckRow/CheckRow.module.css.js +16 -0
- package/dist/components/CheckRow/CheckRow.module.css.js.map +1 -0
- package/dist/components/CheckRow.cjs +1 -0
- package/dist/components/CheckRow.d.ts +2 -0
- package/dist/components/CheckRow.js +2 -0
- package/dist/components/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +19 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs +2 -0
- package/dist/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.css.js +5 -0
- package/dist/components/Checkbox/Checkbox.module.css.js.map +1 -0
- package/dist/components/Checkbox.cjs +1 -0
- package/dist/components/Checkbox.d.ts +2 -0
- package/dist/components/Checkbox.js +2 -0
- package/dist/components/Chip/Chip.cjs +2 -0
- package/dist/components/Chip/Chip.cjs.map +1 -0
- package/dist/components/Chip/Chip.js +61 -0
- package/dist/components/Chip/Chip.js.map +1 -0
- package/dist/components/Chip/Chip.module.css.cjs +2 -0
- package/dist/components/Chip/Chip.module.css.cjs.map +1 -0
- package/dist/components/Chip/Chip.module.css.js +13 -0
- package/dist/components/Chip/Chip.module.css.js.map +1 -0
- package/dist/components/Chip.cjs +1 -0
- package/dist/components/Chip.d.ts +2 -0
- package/dist/components/Chip.js +2 -0
- package/dist/components/Clamp/Clamp.cjs +2 -0
- package/dist/components/Clamp/Clamp.cjs.map +1 -0
- package/dist/components/Clamp/Clamp.js +18 -0
- package/dist/components/Clamp/Clamp.js.map +1 -0
- package/dist/components/Clamp/Clamp.module.css.cjs +2 -0
- package/dist/components/Clamp/Clamp.module.css.cjs.map +1 -0
- package/dist/components/Clamp/Clamp.module.css.js +5 -0
- package/dist/components/Clamp/Clamp.module.css.js.map +1 -0
- package/dist/components/Clamp.cjs +1 -0
- package/dist/components/Clamp.d.ts +2 -0
- package/dist/components/Clamp.js +2 -0
- package/dist/components/ColorPicker/ColorPicker.cjs +2 -0
- package/dist/components/ColorPicker/ColorPicker.cjs.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.js +152 -0
- package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.module.css.cjs +2 -0
- package/dist/components/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.module.css.js +17 -0
- package/dist/components/ColorPicker/ColorPicker.module.css.js.map +1 -0
- package/dist/components/ColorPicker.cjs +1 -0
- package/dist/components/ColorPicker.d.ts +2 -0
- package/dist/components/ColorPicker.js +2 -0
- package/dist/components/ColumnView/ColumnView.cjs +2 -0
- package/dist/components/ColumnView/ColumnView.cjs.map +1 -0
- package/dist/components/ColumnView/ColumnView.js +153 -0
- package/dist/components/ColumnView/ColumnView.js.map +1 -0
- package/dist/components/ColumnView/ColumnView.module.css.cjs +2 -0
- package/dist/components/ColumnView/ColumnView.module.css.cjs.map +1 -0
- package/dist/components/ColumnView/ColumnView.module.css.js +28 -0
- package/dist/components/ColumnView/ColumnView.module.css.js.map +1 -0
- package/dist/components/ColumnView.cjs +1 -0
- package/dist/components/ColumnView.d.ts +2 -0
- package/dist/components/ColumnView.js +2 -0
- package/dist/components/ComboRow/ComboRow.cjs +2 -0
- package/dist/components/ComboRow/ComboRow.cjs.map +1 -0
- package/dist/components/ComboRow/ComboRow.js +197 -0
- package/dist/components/ComboRow/ComboRow.js.map +1 -0
- package/dist/components/ComboRow/ComboRow.module.css.cjs +2 -0
- package/dist/components/ComboRow/ComboRow.module.css.cjs.map +1 -0
- package/dist/components/ComboRow/ComboRow.module.css.js +31 -0
- package/dist/components/ComboRow/ComboRow.module.css.js.map +1 -0
- package/dist/components/ComboRow.cjs +1 -0
- package/dist/components/ComboRow.d.ts +2 -0
- package/dist/components/ComboRow.js +2 -0
- package/dist/components/ContributionGraph/ContributionGraph.cjs +2 -0
- package/dist/components/ContributionGraph/ContributionGraph.cjs.map +1 -0
- package/dist/components/ContributionGraph/ContributionGraph.js +248 -0
- package/dist/components/ContributionGraph/ContributionGraph.js.map +1 -0
- package/dist/components/ContributionGraph/ContributionGraph.module.css.cjs +2 -0
- package/dist/components/ContributionGraph/ContributionGraph.module.css.cjs.map +1 -0
- package/dist/components/ContributionGraph/ContributionGraph.module.css.js +14 -0
- package/dist/components/ContributionGraph/ContributionGraph.module.css.js.map +1 -0
- package/dist/components/ContributionGraph.cjs +1 -0
- package/dist/components/ContributionGraph.d.ts +2 -0
- package/dist/components/ContributionGraph.js +2 -0
- package/dist/components/CountDownTimer/CountDownTimer.cjs +2 -0
- package/dist/components/CountDownTimer/CountDownTimer.cjs.map +1 -0
- package/dist/components/CountDownTimer/CountDownTimer.js +57 -0
- package/dist/components/CountDownTimer/CountDownTimer.js.map +1 -0
- package/dist/components/CountDownTimer/CountDownTimer.module.css.cjs +2 -0
- package/dist/components/CountDownTimer/CountDownTimer.module.css.cjs.map +1 -0
- package/dist/components/CountDownTimer/CountDownTimer.module.css.js +13 -0
- package/dist/components/CountDownTimer/CountDownTimer.module.css.js.map +1 -0
- package/dist/components/CountDownTimer.cjs +1 -0
- package/dist/components/CountDownTimer.d.ts +2 -0
- package/dist/components/CountDownTimer.js +2 -0
- package/dist/components/Dialog/Dialog.cjs +2 -0
- package/dist/components/Dialog/Dialog.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.js +78 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/Dialog/Dialog.module.css.cjs +2 -0
- package/dist/components/Dialog/Dialog.module.css.cjs.map +1 -0
- package/dist/components/Dialog/Dialog.module.css.js +18 -0
- package/dist/components/Dialog/Dialog.module.css.js.map +1 -0
- package/dist/components/Dialog/dialogUtils.cjs +2 -0
- package/dist/components/Dialog/dialogUtils.cjs.map +1 -0
- package/dist/components/Dialog/dialogUtils.js +33 -0
- package/dist/components/Dialog/dialogUtils.js.map +1 -0
- package/dist/components/Dialog.cjs +1 -0
- package/dist/components/Dialog.d.ts +2 -0
- package/dist/components/Dialog.js +2 -0
- package/dist/components/Dropdown/Dropdown.cjs +2 -0
- package/dist/components/Dropdown/Dropdown.cjs.map +1 -0
- package/dist/components/Dropdown/Dropdown.js +159 -0
- package/dist/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.module.css.cjs +2 -0
- package/dist/components/Dropdown/Dropdown.module.css.cjs.map +1 -0
- package/dist/components/Dropdown/Dropdown.module.css.js +27 -0
- package/dist/components/Dropdown/Dropdown.module.css.js.map +1 -0
- package/dist/components/Dropdown.cjs +1 -0
- package/dist/components/Dropdown.d.ts +2 -0
- package/dist/components/Dropdown.js +2 -0
- package/dist/components/EntryRow/EntryRow.cjs +2 -0
- package/dist/components/EntryRow/EntryRow.cjs.map +1 -0
- package/dist/components/EntryRow/EntryRow.js +50 -0
- package/dist/components/EntryRow/EntryRow.js.map +1 -0
- package/dist/components/EntryRow/EntryRow.module.css.cjs +2 -0
- package/dist/components/EntryRow/EntryRow.module.css.cjs.map +1 -0
- package/dist/components/EntryRow/EntryRow.module.css.js +16 -0
- package/dist/components/EntryRow/EntryRow.module.css.js.map +1 -0
- package/dist/components/EntryRow.cjs +1 -0
- package/dist/components/EntryRow.d.ts +2 -0
- package/dist/components/EntryRow.js +2 -0
- package/dist/components/ExpanderRow/ExpanderRow.cjs +2 -0
- package/dist/components/ExpanderRow/ExpanderRow.cjs.map +1 -0
- package/dist/components/ExpanderRow/ExpanderRow.js +81 -0
- package/dist/components/ExpanderRow/ExpanderRow.js.map +1 -0
- package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs +2 -0
- package/dist/components/ExpanderRow/ExpanderRow.module.css.cjs.map +1 -0
- package/dist/components/ExpanderRow/ExpanderRow.module.css.js +20 -0
- package/dist/components/ExpanderRow/ExpanderRow.module.css.js.map +1 -0
- package/dist/components/ExpanderRow.cjs +1 -0
- package/dist/components/ExpanderRow.d.ts +2 -0
- package/dist/components/ExpanderRow.js +2 -0
- package/dist/components/Footer/Footer.cjs +2 -0
- package/dist/components/Footer/Footer.cjs.map +1 -0
- package/dist/components/Footer/Footer.js +31 -0
- package/dist/components/Footer/Footer.js.map +1 -0
- package/dist/components/Footer/Footer.module.css.cjs +2 -0
- package/dist/components/Footer/Footer.module.css.cjs.map +1 -0
- package/dist/components/Footer/Footer.module.css.js +11 -0
- package/dist/components/Footer/Footer.module.css.js.map +1 -0
- package/dist/components/Footer.cjs +1 -0
- package/dist/components/Footer.d.ts +2 -0
- package/dist/components/Footer.js +2 -0
- package/dist/components/Frame/Frame.cjs +2 -0
- package/dist/components/Frame/Frame.cjs.map +1 -0
- package/dist/components/Frame/Frame.js +14 -0
- package/dist/components/Frame/Frame.js.map +1 -0
- package/dist/components/Frame/Frame.module.css.cjs +2 -0
- package/dist/components/Frame/Frame.module.css.cjs.map +1 -0
- package/dist/components/Frame/Frame.module.css.js +5 -0
- package/dist/components/Frame/Frame.module.css.js.map +1 -0
- package/dist/components/Frame.cjs +1 -0
- package/dist/components/Frame.d.ts +2 -0
- package/dist/components/Frame.js +2 -0
- package/dist/components/HeaderBar/HeaderBar.cjs +2 -0
- package/dist/components/HeaderBar/HeaderBar.cjs.map +1 -0
- package/dist/components/HeaderBar/HeaderBar.js +35 -0
- package/dist/components/HeaderBar/HeaderBar.js.map +1 -0
- package/dist/components/HeaderBar/HeaderBar.module.css.cjs +2 -0
- package/dist/components/HeaderBar/HeaderBar.module.css.cjs.map +1 -0
- package/dist/components/HeaderBar/HeaderBar.module.css.js +12 -0
- package/dist/components/HeaderBar/HeaderBar.module.css.js.map +1 -0
- package/dist/components/HeaderBar.cjs +1 -0
- package/dist/components/HeaderBar.d.ts +2 -0
- package/dist/components/HeaderBar.js +2 -0
- package/dist/components/Icon/Icon.cjs +2 -0
- package/dist/components/Icon/Icon.cjs.map +1 -0
- package/dist/components/Icon/Icon.js +31 -0
- package/dist/components/Icon/Icon.js.map +1 -0
- package/dist/components/Icon.cjs +1 -0
- package/dist/components/Icon.d.ts +2 -0
- package/dist/components/Icon.js +2 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs +2 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.cjs.map +1 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js +47 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.js.map +1 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs +2 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.cjs.map +1 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js +16 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcher.module.css.js.map +1 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs +2 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.cjs.map +1 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js +38 -0
- package/dist/components/InlineViewSwitcher/InlineViewSwitcherItem.js.map +1 -0
- package/dist/components/InlineViewSwitcher.cjs +1 -0
- package/dist/components/InlineViewSwitcher.d.ts +2 -0
- package/dist/components/InlineViewSwitcher.js +3 -0
- package/dist/components/Link/Link.cjs +2 -0
- package/dist/components/Link/Link.cjs.map +1 -0
- package/dist/components/Link/Link.js +21 -0
- package/dist/components/Link/Link.js.map +1 -0
- package/dist/components/Link/Link.module.css.cjs +2 -0
- package/dist/components/Link/Link.module.css.cjs.map +1 -0
- package/dist/components/Link/Link.module.css.js +8 -0
- package/dist/components/Link/Link.module.css.js.map +1 -0
- package/dist/components/Link.cjs +1 -0
- package/dist/components/Link.d.ts +2 -0
- package/dist/components/Link.js +2 -0
- package/dist/components/LinkedGroup/LinkedGroup.cjs +2 -0
- package/dist/components/LinkedGroup/LinkedGroup.cjs.map +1 -0
- package/dist/components/LinkedGroup/LinkedGroup.js +18 -0
- package/dist/components/LinkedGroup/LinkedGroup.js.map +1 -0
- package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs +2 -0
- package/dist/components/LinkedGroup/LinkedGroup.module.css.cjs.map +1 -0
- package/dist/components/LinkedGroup/LinkedGroup.module.css.js +8 -0
- package/dist/components/LinkedGroup/LinkedGroup.module.css.js.map +1 -0
- package/dist/components/LinkedGroup.cjs +1 -0
- package/dist/components/LinkedGroup.d.ts +2 -0
- package/dist/components/LinkedGroup.js +2 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.cjs +2 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.cjs.map +1 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.js +39 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.js.map +1 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.module.css.cjs +2 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.module.css.cjs.map +1 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.module.css.js +14 -0
- package/dist/components/NavigationSplitView/NavigationSplitView.module.css.js.map +1 -0
- package/dist/components/NavigationSplitView.cjs +1 -0
- package/dist/components/NavigationSplitView.d.ts +2 -0
- package/dist/components/NavigationSplitView.js +2 -0
- package/dist/components/NavigationView/NavigationView.cjs +2 -0
- package/dist/components/NavigationView/NavigationView.cjs.map +1 -0
- package/dist/components/NavigationView/NavigationView.js +60 -0
- package/dist/components/NavigationView/NavigationView.js.map +1 -0
- package/dist/components/NavigationView/NavigationView.module.css.cjs +2 -0
- package/dist/components/NavigationView/NavigationView.module.css.cjs.map +1 -0
- package/dist/components/NavigationView/NavigationView.module.css.js +16 -0
- package/dist/components/NavigationView/NavigationView.module.css.js.map +1 -0
- package/dist/components/NavigationView.cjs +1 -0
- package/dist/components/NavigationView.d.ts +2 -0
- package/dist/components/NavigationView.js +2 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.cjs +2 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.cjs.map +1 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.js +75 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.js.map +1 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs +2 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.module.css.cjs.map +1 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js +18 -0
- package/dist/components/OverlaySplitView/OverlaySplitView.module.css.js.map +1 -0
- package/dist/components/OverlaySplitView.cjs +1 -0
- package/dist/components/OverlaySplitView.d.ts +2 -0
- package/dist/components/OverlaySplitView.js +2 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs +2 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.cjs.map +1 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.js +35 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.js.map +1 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs +2 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.cjs.map +1 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js +5 -0
- package/dist/components/PasswordEntryRow/PasswordEntryRow.module.css.js.map +1 -0
- package/dist/components/PasswordEntryRow.cjs +1 -0
- package/dist/components/PasswordEntryRow.d.ts +2 -0
- package/dist/components/PasswordEntryRow.js +2 -0
- package/dist/components/PathBar/PathBar.cjs +2 -0
- package/dist/components/PathBar/PathBar.cjs.map +1 -0
- package/dist/components/PathBar/PathBar.js +59 -0
- package/dist/components/PathBar/PathBar.js.map +1 -0
- package/dist/components/PathBar/PathBar.module.css.cjs +2 -0
- package/dist/components/PathBar/PathBar.module.css.cjs.map +1 -0
- package/dist/components/PathBar/PathBar.module.css.js +13 -0
- package/dist/components/PathBar/PathBar.module.css.js.map +1 -0
- package/dist/components/PathBar.cjs +1 -0
- package/dist/components/PathBar.d.ts +2 -0
- package/dist/components/PathBar.js +2 -0
- package/dist/components/Popover/Popover.cjs +2 -0
- package/dist/components/Popover/Popover.cjs.map +1 -0
- package/dist/components/Popover/Popover.js +157 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/Popover.module.css.cjs +2 -0
- package/dist/components/Popover/Popover.module.css.cjs.map +1 -0
- package/dist/components/Popover/Popover.module.css.js +13 -0
- package/dist/components/Popover/Popover.module.css.js.map +1 -0
- package/dist/components/Popover.cjs +1 -0
- package/dist/components/Popover.d.ts +2 -0
- package/dist/components/Popover.js +2 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.cjs +2 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.cjs.map +1 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.js +119 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.js.map +1 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs +2 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.cjs.map +1 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js +25 -0
- package/dist/components/PreferencesDialog/PreferencesDialog.module.css.js.map +1 -0
- package/dist/components/PreferencesDialog.cjs +1 -0
- package/dist/components/PreferencesDialog.d.ts +2 -0
- package/dist/components/PreferencesDialog.js +2 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.cjs +2 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.cjs.map +1 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.js +33 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.js.map +1 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.module.css.cjs +2 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.module.css.cjs.map +1 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.module.css.js +13 -0
- package/dist/components/PreferencesGroup/PreferencesGroup.module.css.js.map +1 -0
- package/dist/components/PreferencesGroup.cjs +1 -0
- package/dist/components/PreferencesGroup.d.ts +2 -0
- package/dist/components/PreferencesGroup.js +2 -0
- package/dist/components/PreferencesPage/PreferencesPage.cjs +2 -0
- package/dist/components/PreferencesPage/PreferencesPage.cjs.map +1 -0
- package/dist/components/PreferencesPage/PreferencesPage.js +18 -0
- package/dist/components/PreferencesPage/PreferencesPage.js.map +1 -0
- package/dist/components/PreferencesPage/PreferencesPage.module.css.cjs +2 -0
- package/dist/components/PreferencesPage/PreferencesPage.module.css.cjs.map +1 -0
- package/dist/components/PreferencesPage/PreferencesPage.module.css.js +8 -0
- package/dist/components/PreferencesPage/PreferencesPage.module.css.js.map +1 -0
- package/dist/components/PreferencesPage.cjs +1 -0
- package/dist/components/PreferencesPage.d.ts +2 -0
- package/dist/components/PreferencesPage.js +2 -0
- package/dist/components/ProgressBar/ProgressBar.cjs +2 -0
- package/dist/components/ProgressBar/ProgressBar.cjs.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.js +28 -0
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.module.css.cjs +2 -0
- package/dist/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.module.css.js +14 -0
- package/dist/components/ProgressBar/ProgressBar.module.css.js.map +1 -0
- package/dist/components/ProgressBar.cjs +1 -0
- package/dist/components/ProgressBar.d.ts +2 -0
- package/dist/components/ProgressBar.js +2 -0
- package/dist/components/RadioButton/RadioButton.cjs +2 -0
- package/dist/components/RadioButton/RadioButton.cjs.map +1 -0
- package/dist/components/RadioButton/RadioButton.js +14 -0
- package/dist/components/RadioButton/RadioButton.js.map +1 -0
- package/dist/components/RadioButton/RadioButton.module.css.cjs +2 -0
- package/dist/components/RadioButton/RadioButton.module.css.cjs.map +1 -0
- package/dist/components/RadioButton/RadioButton.module.css.js +5 -0
- package/dist/components/RadioButton/RadioButton.module.css.js.map +1 -0
- package/dist/components/RadioButton.cjs +1 -0
- package/dist/components/RadioButton.d.ts +2 -0
- package/dist/components/RadioButton.js +2 -0
- package/dist/components/SearchBar/SearchBar.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.js +160 -0
- package/dist/components/SearchBar/SearchBar.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.css.cjs +2 -0
- package/dist/components/SearchBar/SearchBar.module.css.cjs.map +1 -0
- package/dist/components/SearchBar/SearchBar.module.css.js +19 -0
- package/dist/components/SearchBar/SearchBar.module.css.js.map +1 -0
- package/dist/components/SearchBar.cjs +1 -0
- package/dist/components/SearchBar.d.ts +2 -0
- package/dist/components/SearchBar.js +2 -0
- package/dist/components/Separator/Separator.cjs +2 -0
- package/dist/components/Separator/Separator.cjs.map +1 -0
- package/dist/components/Separator/Separator.js +23 -0
- package/dist/components/Separator/Separator.js.map +1 -0
- package/dist/components/Separator/Separator.module.css.cjs +2 -0
- package/dist/components/Separator/Separator.module.css.cjs.map +1 -0
- package/dist/components/Separator/Separator.module.css.js +9 -0
- package/dist/components/Separator/Separator.module.css.js.map +1 -0
- package/dist/components/Separator.cjs +1 -0
- package/dist/components/Separator.d.ts +2 -0
- package/dist/components/Separator.js +2 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.cjs +2 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.cjs.map +1 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.js +50 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.js.map +1 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.module.css.cjs +2 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.module.css.cjs.map +1 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.module.css.js +8 -0
- package/dist/components/ShortcutLabel/ShortcutLabel.module.css.js.map +1 -0
- package/dist/components/ShortcutLabel.cjs +1 -0
- package/dist/components/ShortcutLabel.d.ts +2 -0
- package/dist/components/ShortcutLabel.js +2 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs +2 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.cjs.map +1 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.js +129 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.js.map +1 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs +2 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.cjs.map +1 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js +28 -0
- package/dist/components/ShortcutsDialog/ShortcutsDialog.module.css.js.map +1 -0
- package/dist/components/ShortcutsDialog.cjs +1 -0
- package/dist/components/ShortcutsDialog.d.ts +2 -0
- package/dist/components/ShortcutsDialog.js +2 -0
- package/dist/components/Sidebar/Sidebar.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.js +69 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.css.cjs +2 -0
- package/dist/components/Sidebar/Sidebar.module.css.cjs.map +1 -0
- package/dist/components/Sidebar/Sidebar.module.css.js +39 -0
- package/dist/components/Sidebar/Sidebar.module.css.js.map +1 -0
- package/dist/components/Sidebar/SidebarItem.cjs +2 -0
- package/dist/components/Sidebar/SidebarItem.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarItem.js +105 -0
- package/dist/components/Sidebar/SidebarItem.js.map +1 -0
- package/dist/components/Sidebar/SidebarSection.cjs +2 -0
- package/dist/components/Sidebar/SidebarSection.cjs.map +1 -0
- package/dist/components/Sidebar/SidebarSection.js +89 -0
- package/dist/components/Sidebar/SidebarSection.js.map +1 -0
- package/dist/components/Sidebar.cjs +1 -0
- package/dist/components/Sidebar.d.ts +2 -0
- package/dist/components/Sidebar.js +4 -0
- package/dist/components/Slider/Slider.cjs +2 -0
- package/dist/components/Slider/Slider.cjs.map +1 -0
- package/dist/components/Slider/Slider.js +122 -0
- package/dist/components/Slider/Slider.js.map +1 -0
- package/dist/components/Slider/Slider.module.css.cjs +2 -0
- package/dist/components/Slider/Slider.module.css.cjs.map +1 -0
- package/dist/components/Slider/Slider.module.css.js +15 -0
- package/dist/components/Slider/Slider.module.css.js.map +1 -0
- package/dist/components/Slider.cjs +1 -0
- package/dist/components/Slider.d.ts +2 -0
- package/dist/components/Slider.js +2 -0
- package/dist/components/SpinButton/SpinButton.cjs +2 -0
- package/dist/components/SpinButton/SpinButton.cjs.map +1 -0
- package/dist/components/SpinButton/SpinButton.js +92 -0
- package/dist/components/SpinButton/SpinButton.js.map +1 -0
- package/dist/components/SpinButton/SpinButton.module.css.cjs +2 -0
- package/dist/components/SpinButton/SpinButton.module.css.cjs.map +1 -0
- package/dist/components/SpinButton/SpinButton.module.css.js +10 -0
- package/dist/components/SpinButton/SpinButton.module.css.js.map +1 -0
- package/dist/components/SpinButton.cjs +1 -0
- package/dist/components/SpinButton.d.ts +2 -0
- package/dist/components/SpinButton.js +2 -0
- package/dist/components/SpinRow/SpinRow.cjs +2 -0
- package/dist/components/SpinRow/SpinRow.cjs.map +1 -0
- package/dist/components/SpinRow/SpinRow.js +119 -0
- package/dist/components/SpinRow/SpinRow.js.map +1 -0
- package/dist/components/SpinRow/SpinRow.module.css.cjs +2 -0
- package/dist/components/SpinRow/SpinRow.module.css.cjs.map +1 -0
- package/dist/components/SpinRow/SpinRow.module.css.js +15 -0
- package/dist/components/SpinRow/SpinRow.module.css.js.map +1 -0
- package/dist/components/SpinRow.cjs +1 -0
- package/dist/components/SpinRow.d.ts +2 -0
- package/dist/components/SpinRow.js +2 -0
- package/dist/components/Spinner/Spinner.cjs +2 -0
- package/dist/components/Spinner/Spinner.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.js +21 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/Spinner/Spinner.module.css.cjs +2 -0
- package/dist/components/Spinner/Spinner.module.css.cjs.map +1 -0
- package/dist/components/Spinner/Spinner.module.css.js +11 -0
- package/dist/components/Spinner/Spinner.module.css.js.map +1 -0
- package/dist/components/Spinner.cjs +1 -0
- package/dist/components/Spinner.d.ts +2 -0
- package/dist/components/Spinner.js +2 -0
- package/dist/components/SplitButton/SplitButton.cjs +2 -0
- package/dist/components/SplitButton/SplitButton.cjs.map +1 -0
- package/dist/components/SplitButton/SplitButton.js +104 -0
- package/dist/components/SplitButton/SplitButton.js.map +1 -0
- package/dist/components/SplitButton/SplitButton.module.css.cjs +2 -0
- package/dist/components/SplitButton/SplitButton.module.css.cjs.map +1 -0
- package/dist/components/SplitButton/SplitButton.module.css.js +16 -0
- package/dist/components/SplitButton/SplitButton.module.css.js.map +1 -0
- package/dist/components/SplitButton.cjs +1 -0
- package/dist/components/SplitButton.d.ts +2 -0
- package/dist/components/SplitButton.js +2 -0
- package/dist/components/StatusBadge/StatusBadge.cjs +2 -0
- package/dist/components/StatusBadge/StatusBadge.cjs.map +1 -0
- package/dist/components/StatusBadge/StatusBadge.js +18 -0
- package/dist/components/StatusBadge/StatusBadge.js.map +1 -0
- package/dist/components/StatusBadge/StatusBadge.module.css.cjs +2 -0
- package/dist/components/StatusBadge/StatusBadge.module.css.cjs.map +1 -0
- package/dist/components/StatusBadge/StatusBadge.module.css.js +13 -0
- package/dist/components/StatusBadge/StatusBadge.module.css.js.map +1 -0
- package/dist/components/StatusBadge.cjs +1 -0
- package/dist/components/StatusBadge.d.ts +2 -0
- package/dist/components/StatusBadge.js +2 -0
- package/dist/components/StatusPage/StatusPage.cjs +2 -0
- package/dist/components/StatusPage/StatusPage.cjs.map +1 -0
- package/dist/components/StatusPage/StatusPage.js +43 -0
- package/dist/components/StatusPage/StatusPage.js.map +1 -0
- package/dist/components/StatusPage/StatusPage.module.css.cjs +2 -0
- package/dist/components/StatusPage/StatusPage.module.css.cjs.map +1 -0
- package/dist/components/StatusPage/StatusPage.module.css.js +12 -0
- package/dist/components/StatusPage/StatusPage.module.css.js.map +1 -0
- package/dist/components/StatusPage.cjs +1 -0
- package/dist/components/StatusPage.d.ts +2 -0
- package/dist/components/StatusPage.js +2 -0
- package/dist/components/Switch/Switch.cjs +2 -0
- package/dist/components/Switch/Switch.cjs.map +1 -0
- package/dist/components/Switch/Switch.js +15 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/Switch.module.css.cjs +2 -0
- package/dist/components/Switch/Switch.module.css.cjs.map +1 -0
- package/dist/components/Switch/Switch.module.css.js +6 -0
- package/dist/components/Switch/Switch.module.css.js.map +1 -0
- package/dist/components/Switch.cjs +1 -0
- package/dist/components/Switch.d.ts +2 -0
- package/dist/components/Switch.js +2 -0
- package/dist/components/SwitchRow/SwitchRow.cjs +2 -0
- package/dist/components/SwitchRow/SwitchRow.cjs.map +1 -0
- package/dist/components/SwitchRow/SwitchRow.js +49 -0
- package/dist/components/SwitchRow/SwitchRow.js.map +1 -0
- package/dist/components/SwitchRow/SwitchRow.module.css.cjs +2 -0
- package/dist/components/SwitchRow/SwitchRow.module.css.cjs.map +1 -0
- package/dist/components/SwitchRow/SwitchRow.module.css.js +15 -0
- package/dist/components/SwitchRow/SwitchRow.module.css.js.map +1 -0
- package/dist/components/SwitchRow.cjs +1 -0
- package/dist/components/SwitchRow.d.ts +2 -0
- package/dist/components/SwitchRow.js +2 -0
- package/dist/components/Tabs/TabBar.cjs +2 -0
- package/dist/components/Tabs/TabBar.cjs.map +1 -0
- package/dist/components/Tabs/TabBar.js +38 -0
- package/dist/components/Tabs/TabBar.js.map +1 -0
- package/dist/components/Tabs/TabItem.cjs +2 -0
- package/dist/components/Tabs/TabItem.cjs.map +1 -0
- package/dist/components/Tabs/TabItem.js +52 -0
- package/dist/components/Tabs/TabItem.js.map +1 -0
- package/dist/components/Tabs/TabPanel.cjs +2 -0
- package/dist/components/Tabs/TabPanel.cjs.map +1 -0
- package/dist/components/Tabs/TabPanel.js +18 -0
- package/dist/components/Tabs/TabPanel.js.map +1 -0
- package/dist/components/Tabs/Tabs.module.css.cjs +2 -0
- package/dist/components/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/components/Tabs/Tabs.module.css.js +15 -0
- package/dist/components/Tabs/Tabs.module.css.js.map +1 -0
- package/dist/components/Tabs.cjs +1 -0
- package/dist/components/Tabs.d.ts +2 -0
- package/dist/components/Tabs.js +4 -0
- package/dist/components/TerminalView/TerminalView.cjs +2 -0
- package/dist/components/TerminalView/TerminalView.cjs.map +1 -0
- package/dist/components/TerminalView/TerminalView.js +28 -0
- package/dist/components/TerminalView/TerminalView.js.map +1 -0
- package/dist/components/TerminalView/TerminalView.module.css.cjs +2 -0
- package/dist/components/TerminalView/TerminalView.module.css.cjs.map +1 -0
- package/dist/components/TerminalView/TerminalView.module.css.js +12 -0
- package/dist/components/TerminalView/TerminalView.module.css.js.map +1 -0
- package/dist/components/TerminalView.cjs +1 -0
- package/dist/components/TerminalView.d.ts +2 -0
- package/dist/components/TerminalView.js +2 -0
- package/dist/components/Text/Text.cjs +2 -0
- package/dist/components/Text/Text.cjs.map +1 -0
- package/dist/components/Text/Text.js +33 -0
- package/dist/components/Text/Text.js.map +1 -0
- package/dist/components/Text/Text.module.css.cjs +2 -0
- package/dist/components/Text/Text.module.css.cjs.map +1 -0
- package/dist/components/Text/Text.module.css.js +27 -0
- package/dist/components/Text/Text.module.css.js.map +1 -0
- package/dist/components/Text.cjs +1 -0
- package/dist/components/Text.d.ts +2 -0
- package/dist/components/Text.js +2 -0
- package/dist/components/TextField/TextField.cjs +2 -0
- package/dist/components/TextField/TextField.cjs.map +1 -0
- package/dist/components/TextField/TextField.js +38 -0
- package/dist/components/TextField/TextField.js.map +1 -0
- package/dist/components/TextField/TextField.module.css.cjs +2 -0
- package/dist/components/TextField/TextField.module.css.cjs.map +1 -0
- package/dist/components/TextField/TextField.module.css.js +13 -0
- package/dist/components/TextField/TextField.module.css.js.map +1 -0
- package/dist/components/TextField.cjs +1 -0
- package/dist/components/TextField.d.ts +2 -0
- package/dist/components/TextField.js +2 -0
- package/dist/components/Timeline/Timeline.cjs +2 -0
- package/dist/components/Timeline/Timeline.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.js +71 -0
- package/dist/components/Timeline/Timeline.js.map +1 -0
- package/dist/components/Timeline/Timeline.module.css.cjs +2 -0
- package/dist/components/Timeline/Timeline.module.css.cjs.map +1 -0
- package/dist/components/Timeline/Timeline.module.css.js +19 -0
- package/dist/components/Timeline/Timeline.module.css.js.map +1 -0
- package/dist/components/Timeline.cjs +1 -0
- package/dist/components/Timeline.d.ts +2 -0
- package/dist/components/Timeline.js +2 -0
- package/dist/components/Toast/Toast.cjs +2 -0
- package/dist/components/Toast/Toast.cjs.map +1 -0
- package/dist/components/Toast/Toast.js +63 -0
- package/dist/components/Toast/Toast.js.map +1 -0
- package/dist/components/Toast/Toast.module.css.cjs +2 -0
- package/dist/components/Toast/Toast.module.css.cjs.map +1 -0
- package/dist/components/Toast/Toast.module.css.js +16 -0
- package/dist/components/Toast/Toast.module.css.js.map +1 -0
- package/dist/components/Toast/Toaster.cjs +2 -0
- package/dist/components/Toast/Toaster.cjs.map +1 -0
- package/dist/components/Toast/Toaster.js +21 -0
- package/dist/components/Toast/Toaster.js.map +1 -0
- package/dist/components/Toast.cjs +1 -0
- package/dist/components/Toast.d.ts +2 -0
- package/dist/components/Toast.js +3 -0
- package/dist/components/ToggleGroup/ToggleGroup.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.js +43 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.js +12 -0
- package/dist/components/ToggleGroup/ToggleGroup.module.css.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.cjs +2 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.cjs.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.js +38 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -0
- package/dist/components/ToggleGroup.cjs +1 -0
- package/dist/components/ToggleGroup.d.ts +2 -0
- package/dist/components/ToggleGroup.js +3 -0
- package/dist/components/Toolbar/Spacer.cjs +2 -0
- package/dist/components/Toolbar/Spacer.cjs.map +1 -0
- package/dist/components/Toolbar/Spacer.js +14 -0
- package/dist/components/Toolbar/Spacer.js.map +1 -0
- package/dist/components/Toolbar/Toolbar.cjs +2 -0
- package/dist/components/Toolbar/Toolbar.cjs.map +1 -0
- package/dist/components/Toolbar/Toolbar.js +14 -0
- package/dist/components/Toolbar/Toolbar.js.map +1 -0
- package/dist/components/Toolbar/Toolbar.module.css.cjs +2 -0
- package/dist/components/Toolbar/Toolbar.module.css.cjs.map +1 -0
- package/dist/components/Toolbar/Toolbar.module.css.js +8 -0
- package/dist/components/Toolbar/Toolbar.module.css.js.map +1 -0
- package/dist/components/Toolbar.cjs +1 -0
- package/dist/components/Toolbar.d.ts +2 -0
- package/dist/components/Toolbar.js +3 -0
- package/dist/components/ToolbarView/ToolbarView.cjs +2 -0
- package/dist/components/ToolbarView/ToolbarView.cjs.map +1 -0
- package/dist/components/ToolbarView/ToolbarView.js +27 -0
- package/dist/components/ToolbarView/ToolbarView.js.map +1 -0
- package/dist/components/ToolbarView/ToolbarView.module.css.cjs +2 -0
- package/dist/components/ToolbarView/ToolbarView.module.css.cjs.map +1 -0
- package/dist/components/ToolbarView/ToolbarView.module.css.js +10 -0
- package/dist/components/ToolbarView/ToolbarView.module.css.js.map +1 -0
- package/dist/components/ToolbarView.cjs +1 -0
- package/dist/components/ToolbarView.d.ts +2 -0
- package/dist/components/ToolbarView.js +2 -0
- package/dist/components/Tooltip/Tooltip.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +100 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.css.cjs +2 -0
- package/dist/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.module.css.js +12 -0
- package/dist/components/Tooltip/Tooltip.module.css.js.map +1 -0
- package/dist/components/Tooltip.cjs +1 -0
- package/dist/components/Tooltip.d.ts +2 -0
- package/dist/components/Tooltip.js +2 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.cjs +2 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.cjs.map +1 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.js +31 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.js.map +1 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs +2 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.module.css.cjs.map +1 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js +11 -0
- package/dist/components/ViewSwitcher/ViewSwitcher.module.css.js.map +1 -0
- package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs +2 -0
- package/dist/components/ViewSwitcher/ViewSwitcherItem.cjs.map +1 -0
- package/dist/components/ViewSwitcher/ViewSwitcherItem.js +34 -0
- package/dist/components/ViewSwitcher/ViewSwitcherItem.js.map +1 -0
- package/dist/components/ViewSwitcher.cjs +1 -0
- package/dist/components/ViewSwitcher.d.ts +2 -0
- package/dist/components/ViewSwitcher.js +3 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs +2 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.cjs.map +1 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js +16 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.js.map +1 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs +2 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.cjs.map +1 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js +5 -0
- package/dist/components/ViewSwitcherBar/ViewSwitcherBar.module.css.js.map +1 -0
- package/dist/components/ViewSwitcherBar.cjs +1 -0
- package/dist/components/ViewSwitcherBar.d.ts +2 -0
- package/dist/components/ViewSwitcherBar.js +2 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs +2 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.cjs.map +1 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js +61 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.js.map +1 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs +2 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.cjs.map +1 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js +18 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebar.module.css.js.map +1 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs +2 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.cjs.map +1 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js +50 -0
- package/dist/components/ViewSwitcherSidebar/ViewSwitcherSidebarItem.js.map +1 -0
- package/dist/components/ViewSwitcherSidebar.cjs +1 -0
- package/dist/components/ViewSwitcherSidebar.d.ts +2 -0
- package/dist/components/ViewSwitcherSidebar.js +3 -0
- package/dist/components/WindowTitle/WindowTitle.cjs +2 -0
- package/dist/components/WindowTitle/WindowTitle.cjs.map +1 -0
- package/dist/components/WindowTitle/WindowTitle.js +20 -0
- package/dist/components/WindowTitle/WindowTitle.js.map +1 -0
- package/dist/components/WindowTitle/WindowTitle.module.css.cjs +2 -0
- package/dist/components/WindowTitle/WindowTitle.module.css.cjs.map +1 -0
- package/dist/components/WindowTitle/WindowTitle.module.css.js +9 -0
- package/dist/components/WindowTitle/WindowTitle.module.css.js.map +1 -0
- package/dist/components/WindowTitle.cjs +1 -0
- package/dist/components/WindowTitle.d.ts +2 -0
- package/dist/components/WindowTitle.js +2 -0
- package/dist/components/WrapBox/WrapBox.cjs +2 -0
- package/dist/components/WrapBox/WrapBox.cjs.map +1 -0
- package/dist/components/WrapBox/WrapBox.js +26 -0
- package/dist/components/WrapBox/WrapBox.js.map +1 -0
- package/dist/components/WrapBox/WrapBox.module.css.cjs +2 -0
- package/dist/components/WrapBox/WrapBox.module.css.cjs.map +1 -0
- package/dist/components/WrapBox/WrapBox.module.css.js +8 -0
- package/dist/components/WrapBox/WrapBox.module.css.js.map +1 -0
- package/dist/components/WrapBox.cjs +1 -0
- package/dist/components/WrapBox.d.ts +2 -0
- package/dist/components/WrapBox.js +2 -0
- package/dist/hooks/useBreakpoint.cjs +2 -0
- package/dist/hooks/useBreakpoint.cjs.map +1 -0
- package/dist/hooks/useBreakpoint.js +26 -0
- package/dist/hooks/useBreakpoint.js.map +1 -0
- package/dist/hooks.cjs +1 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.js +2 -0
- package/dist/icons/dist/icons/Check.cjs +2 -0
- package/dist/icons/dist/icons/Check.cjs.map +1 -0
- package/dist/icons/dist/icons/Check.js +12 -0
- package/dist/icons/dist/icons/Check.js.map +1 -0
- package/dist/icons/dist/icons/Close.cjs +2 -0
- package/dist/icons/dist/icons/Close.cjs.map +1 -0
- package/dist/icons/dist/icons/Close.js +12 -0
- package/dist/icons/dist/icons/Close.js.map +1 -0
- package/dist/icons/dist/icons/PanDown.cjs +2 -0
- package/dist/icons/dist/icons/PanDown.cjs.map +1 -0
- package/dist/icons/dist/icons/PanDown.js +12 -0
- package/dist/icons/dist/icons/PanDown.js.map +1 -0
- package/dist/icons/dist/icons/PanUp.cjs +2 -0
- package/dist/icons/dist/icons/PanUp.cjs.map +1 -0
- package/dist/icons/dist/icons/PanUp.js +12 -0
- package/dist/icons/dist/icons/PanUp.js.map +1 -0
- package/dist/icons/dist/icons/Search.cjs +2 -0
- package/dist/icons/dist/icons/Search.cjs.map +1 -0
- package/dist/icons/dist/icons/Search.js +12 -0
- package/dist/icons/dist/icons/Search.js.map +1 -0
- package/dist/icons/dist/icons/ViewConceal.cjs +2 -0
- package/dist/icons/dist/icons/ViewConceal.cjs.map +1 -0
- package/dist/icons/dist/icons/ViewConceal.js +12 -0
- package/dist/icons/dist/icons/ViewConceal.js.map +1 -0
- package/dist/icons/dist/icons/ViewReveal.cjs +2 -0
- package/dist/icons/dist/icons/ViewReveal.cjs.map +1 -0
- package/dist/icons/dist/icons/ViewReveal.js +12 -0
- package/dist/icons/dist/icons/ViewReveal.js.map +1 -0
- package/dist/index.cjs +1 -2
- package/dist/index.js +87 -5166
- package/dist/style.css +1 -1
- package/package.json +391 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/test/setup.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n type ButtonHTMLAttributes,\n type ReactNode,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\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 function 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<React.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) return;\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) left = 8;\n if (left + panelRect.width > vw - 8) left = vw - panelRect.width - 8;\n\n setDropdownStyle({\n top: triggerRect.bottom + 6,\n left,\n });\n }, []);\n\n useEffect(() => {\n if (!open) return;\n const id = requestAnimationFrame(() => {\n place();\n window.addEventListener(\"scroll\", place, { passive: true, capture: true });\n window.addEventListener(\"resize\", place, { passive: true });\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) return;\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 document.addEventListener(\"mousedown\", handler);\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 = [\n styles.container,\n styles[variant],\n className,\n ]\n .filter(Boolean)\n .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]\n .filter(Boolean)\n .join(\" \")}\n style={\n Object.keys(dropdownStyle).length\n ? { ...dropdownStyle, position: \"fixed\" }\n : { visibility: \"hidden\", pointerEvents: \"none\", top: -9999, left: -9999, position: \"fixed\" }\n }\n onKeyDown={handlePanelKeyDown}\n >\n {dropdownContent}\n </div>\n );\n\n return (\n <>\n <div ref={containerRef} className={containerClass}>\n <button\n className={styles.primary}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\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 &&\n (typeof document !== \"undefined\"\n ? createPortal(panel, document.body)\n : panel)}\n </>\n );\n}\n"],"mappings":"6HAsCA,SAAgB,EAAY,CAC1B,QACA,UAAU,UACV,kBACA,gBAAgB,eAChB,WAAW,GACX,UACA,YACA,GAAG,GACgB,CACnB,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,GAAM,CACjC,CAAC,EAAe,IAAA,EAAA,EAAA,UAAkD,EAAE,CAAC,CAErE,GAAA,EAAA,EAAA,QAAsC,KAAK,CAC3C,GAAA,EAAA,EAAA,QAAsC,KAAK,CAC3C,GAAA,EAAA,EAAA,QAAkC,KAAK,CAEvC,GAAA,EAAA,EAAA,iBAA0B,EAAQ,GAAM,CAAE,EAAE,CAAC,CAG7C,GAAA,EAAA,EAAA,iBAA0B,CAC9B,GAAI,CAAC,EAAU,SAAW,CAAC,EAAS,QAAS,OAC7C,IAAM,EAAc,EAAU,QAAQ,uBAAuB,CACvD,EAAY,EAAS,QAAQ,uBAAuB,CACpD,EAAK,OAAO,WAEd,EAAO,EAAY,MAAQ,EAAU,MACrC,EAAO,IAAG,EAAO,GACjB,EAAO,EAAU,MAAQ,EAAK,IAAG,EAAO,EAAK,EAAU,MAAQ,GAEnE,EAAiB,CACf,IAAK,EAAY,OAAS,EAC1B,OACD,CAAC,EACD,EAAE,CAAC,EAEN,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAM,OACX,IAAM,EAAK,0BAA4B,CACrC,GAAO,CACP,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,GAAM,QAAS,GAAM,CAAC,CAC1E,OAAO,iBAAiB,SAAU,EAAO,CAAE,QAAS,GAAM,CAAC,EAC3D,CACF,UAAa,CACX,qBAAqB,EAAG,CACxB,OAAO,oBAAoB,SAAU,EAAO,CAAE,QAAS,GAAM,CAAC,CAC9D,OAAO,oBAAoB,SAAU,EAAM,GAE5C,CAAC,EAAM,EAAM,CAAC,EAGjB,EAAA,EAAA,eAAgB,CACd,GAAI,CAAC,EAAM,OACX,IAAM,EAAW,GAAkB,CAE/B,CAAC,EAAa,SAAS,SAAS,EAAE,OAAe,EACjD,CAAC,EAAS,SAAS,SAAS,EAAE,OAAe,EAE7C,GAAO,EAIX,OADA,SAAS,iBAAiB,YAAa,EAAQ,KAClC,SAAS,oBAAoB,YAAa,EAAQ,EAC9D,CAAC,EAAM,EAAM,CAAC,CAEjB,IAAM,EAAsB,GAAqC,CAC3D,EAAE,MAAQ,WACZ,EAAE,iBAAiB,CACnB,GAAO,CACP,EAAU,SAAS,OAAO,GAIxB,EAAiB,CACrB,EAAA,QAAO,UACP,EAAA,QAAO,GACP,EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,CAEN,GACJ,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,KAAK,SACL,aAAY,EACZ,SAAU,GACV,UAAW,CAAC,EAAA,QAAO,SAAU,EAAO,EAAA,QAAO,gBAAkB,KAAK,CAC/D,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,MACE,OAAO,KAAK,EAAc,CAAC,OACvB,CAAE,GAAG,EAAe,SAAU,QAAS,CACvC,CAAE,WAAY,SAAU,cAAe,OAAQ,IAAK,MAAO,KAAM,MAAO,SAAU,QAAS,CAEjG,UAAW,WAEV,EACG,CAAA,CAGR,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,MAAD,CAAK,IAAK,EAAc,UAAW,WAAnC,EACE,EAAA,EAAA,KAAC,SAAD,CACE,UAAW,EAAA,QAAO,QACR,WACD,UACT,GAAI,WAEH,EACM,CAAA,EAET,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,UAAW,cAAY,OAAS,CAAA,EAExD,EAAA,EAAA,KAAC,SAAD,CACE,IAAK,EACL,UAAW,EAAA,QAAO,OACR,WACV,aAAY,EACZ,gBAAc,SACd,gBAAe,EACf,YAAe,EAAS,GAAM,CAAC,EAAE,WAEjC,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,QACf,CAAA,CACE,CAAA,CACC,CAAA,CACL,GAEL,IACE,OAAO,SAAa,KAAA,EAAA,EAAA,cACJ,EAAO,SAAS,KAAK,CAClC,GACL,CAAA,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import e from "./SplitButton.module.css.js";
|
|
2
|
+
import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
|
|
3
|
+
import { createPortal as a } from "react-dom";
|
|
4
|
+
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/SplitButton/SplitButton.tsx
|
|
6
|
+
function l({ label: l, variant: u = "default", dropdownContent: d, dropdownLabel: f = "More options", disabled: p = !1, onClick: m, className: h, ...g }) {
|
|
7
|
+
let [_, v] = i(!1), [y, b] = i({}), x = r(null), S = r(null), C = r(null), w = t(() => v(!1), []), T = t(() => {
|
|
8
|
+
if (!S.current || !C.current) return;
|
|
9
|
+
let e = S.current.getBoundingClientRect(), t = C.current.getBoundingClientRect(), n = window.innerWidth, r = e.right - t.width;
|
|
10
|
+
r < 8 && (r = 8), r + t.width > n - 8 && (r = n - t.width - 8), b({
|
|
11
|
+
top: e.bottom + 6,
|
|
12
|
+
left: r
|
|
13
|
+
});
|
|
14
|
+
}, []);
|
|
15
|
+
n(() => {
|
|
16
|
+
if (!_) return;
|
|
17
|
+
let e = requestAnimationFrame(() => {
|
|
18
|
+
T(), window.addEventListener("scroll", T, {
|
|
19
|
+
passive: !0,
|
|
20
|
+
capture: !0
|
|
21
|
+
}), window.addEventListener("resize", T, { passive: !0 });
|
|
22
|
+
});
|
|
23
|
+
return () => {
|
|
24
|
+
cancelAnimationFrame(e), window.removeEventListener("scroll", T, { capture: !0 }), window.removeEventListener("resize", T);
|
|
25
|
+
};
|
|
26
|
+
}, [_, T]), n(() => {
|
|
27
|
+
if (!_) return;
|
|
28
|
+
let e = (e) => {
|
|
29
|
+
!x.current?.contains(e.target) && !C.current?.contains(e.target) && w();
|
|
30
|
+
};
|
|
31
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
32
|
+
}, [_, w]);
|
|
33
|
+
let E = (e) => {
|
|
34
|
+
e.key === "Escape" && (e.stopPropagation(), w(), S.current?.focus());
|
|
35
|
+
}, D = [
|
|
36
|
+
e.container,
|
|
37
|
+
e[u],
|
|
38
|
+
h
|
|
39
|
+
].filter(Boolean).join(" "), O = /* @__PURE__ */ s("div", {
|
|
40
|
+
ref: C,
|
|
41
|
+
role: "dialog",
|
|
42
|
+
"aria-label": f,
|
|
43
|
+
tabIndex: -1,
|
|
44
|
+
className: [e.dropdown, _ ? e.dropdownVisible : null].filter(Boolean).join(" "),
|
|
45
|
+
style: Object.keys(y).length ? {
|
|
46
|
+
...y,
|
|
47
|
+
position: "fixed"
|
|
48
|
+
} : {
|
|
49
|
+
visibility: "hidden",
|
|
50
|
+
pointerEvents: "none",
|
|
51
|
+
top: -9999,
|
|
52
|
+
left: -9999,
|
|
53
|
+
position: "fixed"
|
|
54
|
+
},
|
|
55
|
+
onKeyDown: E,
|
|
56
|
+
children: d
|
|
57
|
+
});
|
|
58
|
+
return /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ c("div", {
|
|
59
|
+
ref: x,
|
|
60
|
+
className: D,
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ s("button", {
|
|
63
|
+
className: e.primary,
|
|
64
|
+
disabled: p,
|
|
65
|
+
onClick: m,
|
|
66
|
+
...g,
|
|
67
|
+
children: l
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ s("span", {
|
|
70
|
+
className: e.separator,
|
|
71
|
+
"aria-hidden": "true"
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ s("button", {
|
|
74
|
+
ref: S,
|
|
75
|
+
className: e.toggle,
|
|
76
|
+
disabled: p,
|
|
77
|
+
"aria-label": f,
|
|
78
|
+
"aria-haspopup": "dialog",
|
|
79
|
+
"aria-expanded": _,
|
|
80
|
+
onClick: () => v((e) => !e),
|
|
81
|
+
children: /* @__PURE__ */ s("svg", {
|
|
82
|
+
className: e.chevron,
|
|
83
|
+
width: "16",
|
|
84
|
+
height: "16",
|
|
85
|
+
viewBox: "0 0 16 16",
|
|
86
|
+
"aria-hidden": "true",
|
|
87
|
+
focusable: "false",
|
|
88
|
+
children: /* @__PURE__ */ s("path", {
|
|
89
|
+
d: "M4 6l4 4 4-4",
|
|
90
|
+
fill: "none",
|
|
91
|
+
stroke: "currentColor",
|
|
92
|
+
strokeWidth: "1.5",
|
|
93
|
+
strokeLinecap: "round",
|
|
94
|
+
strokeLinejoin: "round"
|
|
95
|
+
})
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
}), _ && (typeof document < "u" ? a(O, document.body) : O)] });
|
|
100
|
+
}
|
|
101
|
+
//#endregion
|
|
102
|
+
export { l as SplitButton };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=SplitButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.js","names":[],"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n type ButtonHTMLAttributes,\n type ReactNode,\n type KeyboardEvent,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\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 function 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<React.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) return;\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) left = 8;\n if (left + panelRect.width > vw - 8) left = vw - panelRect.width - 8;\n\n setDropdownStyle({\n top: triggerRect.bottom + 6,\n left,\n });\n }, []);\n\n useEffect(() => {\n if (!open) return;\n const id = requestAnimationFrame(() => {\n place();\n window.addEventListener(\"scroll\", place, { passive: true, capture: true });\n window.addEventListener(\"resize\", place, { passive: true });\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) return;\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 document.addEventListener(\"mousedown\", handler);\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 = [\n styles.container,\n styles[variant],\n className,\n ]\n .filter(Boolean)\n .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]\n .filter(Boolean)\n .join(\" \")}\n style={\n Object.keys(dropdownStyle).length\n ? { ...dropdownStyle, position: \"fixed\" }\n : { visibility: \"hidden\", pointerEvents: \"none\", top: -9999, left: -9999, position: \"fixed\" }\n }\n onKeyDown={handlePanelKeyDown}\n >\n {dropdownContent}\n </div>\n );\n\n return (\n <>\n <div ref={containerRef} className={containerClass}>\n <button\n className={styles.primary}\n disabled={disabled}\n onClick={onClick}\n {...props}\n >\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 &&\n (typeof document !== \"undefined\"\n ? createPortal(panel, document.body)\n : panel)}\n </>\n );\n}\n"],"mappings":";;;;;AAsCA,SAAgB,EAAY,EAC1B,UACA,aAAU,WACV,oBACA,mBAAgB,gBAChB,cAAW,IACX,YACA,cACA,GAAG,KACgB;CACnB,IAAM,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,CAAC,GAAe,KAAoB,EAA8B,EAAE,CAAC,EAErE,IAAe,EAAuB,KAAK,EAC3C,IAAY,EAA0B,KAAK,EAC3C,IAAW,EAAuB,KAAK,EAEvC,IAAQ,QAAkB,EAAQ,GAAM,EAAE,EAAE,CAAC,EAG7C,IAAQ,QAAkB;AAC9B,MAAI,CAAC,EAAU,WAAW,CAAC,EAAS,QAAS;EAC7C,IAAM,IAAc,EAAU,QAAQ,uBAAuB,EACvD,IAAY,EAAS,QAAQ,uBAAuB,EACpD,IAAK,OAAO,YAEd,IAAO,EAAY,QAAQ,EAAU;AAIzC,EAHI,IAAO,MAAG,IAAO,IACjB,IAAO,EAAU,QAAQ,IAAK,MAAG,IAAO,IAAK,EAAU,QAAQ,IAEnE,EAAiB;GACf,KAAK,EAAY,SAAS;GAC1B;GACD,CAAC;IACD,EAAE,CAAC;AAiBN,CAfA,QAAgB;AACd,MAAI,CAAC,EAAM;EACX,IAAM,IAAK,4BAA4B;AAGrC,GAFA,GAAO,EACP,OAAO,iBAAiB,UAAU,GAAO;IAAE,SAAS;IAAM,SAAS;IAAM,CAAC,EAC1E,OAAO,iBAAiB,UAAU,GAAO,EAAE,SAAS,IAAM,CAAC;IAC3D;AACF,eAAa;AAGX,GAFA,qBAAqB,EAAG,EACxB,OAAO,oBAAoB,UAAU,GAAO,EAAE,SAAS,IAAM,CAAC,EAC9D,OAAO,oBAAoB,UAAU,EAAM;;IAE5C,CAAC,GAAM,EAAM,CAAC,EAGjB,QAAgB;AACd,MAAI,CAAC,EAAM;EACX,IAAM,KAAW,MAAkB;AACjC,GACE,CAAC,EAAa,SAAS,SAAS,EAAE,OAAe,IACjD,CAAC,EAAS,SAAS,SAAS,EAAE,OAAe,IAE7C,GAAO;;AAIX,SADA,SAAS,iBAAiB,aAAa,EAAQ,QAClC,SAAS,oBAAoB,aAAa,EAAQ;IAC9D,CAAC,GAAM,EAAM,CAAC;CAEjB,IAAM,KAAsB,MAAqC;AAC/D,EAAI,EAAE,QAAQ,aACZ,EAAE,iBAAiB,EACnB,GAAO,EACP,EAAU,SAAS,OAAO;IAIxB,IAAiB;EACrB,EAAO;EACP,EAAO;EACP;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI,EAEN,IACJ,kBAAC,OAAD;EACE,KAAK;EACL,MAAK;EACL,cAAY;EACZ,UAAU;EACV,WAAW,CAAC,EAAO,UAAU,IAAO,EAAO,kBAAkB,KAAK,CAC/D,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,OACE,OAAO,KAAK,EAAc,CAAC,SACvB;GAAE,GAAG;GAAe,UAAU;GAAS,GACvC;GAAE,YAAY;GAAU,eAAe;GAAQ,KAAK;GAAO,MAAM;GAAO,UAAU;GAAS;EAEjG,WAAW;YAEV;EACG,CAAA;AAGR,QACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,KAAK;EAAc,WAAW;YAAnC;GACE,kBAAC,UAAD;IACE,WAAW,EAAO;IACR;IACD;IACT,GAAI;cAEH;IACM,CAAA;GAET,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAW,eAAY;IAAS,CAAA;GAExD,kBAAC,UAAD;IACE,KAAK;IACL,WAAW,EAAO;IACR;IACV,cAAY;IACZ,iBAAc;IACd,iBAAe;IACf,eAAe,GAAS,MAAM,CAAC,EAAE;cAEjC,kBAAC,OAAD;KACE,WAAW,EAAO;KAClB,OAAM;KACN,QAAO;KACP,SAAQ;KACR,eAAY;KACZ,WAAU;eAEV,kBAAC,QAAD;MACE,GAAE;MACF,MAAK;MACL,QAAO;MACP,aAAY;MACZ,eAAc;MACd,gBAAe;MACf,CAAA;KACE,CAAA;IACC,CAAA;GACL;KAEL,MACE,OAAO,WAAa,MACjB,EAAa,GAAO,SAAS,KAAK,GAClC,GACL,EAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={container:`_container_4kjnf_3`,primary:`_primary_4kjnf_14`,toggle:`_toggle_4kjnf_15`,separator:`_separator_4kjnf_66`,chevron:`_chevron_4kjnf_81`,default:`_default_4kjnf_88`,suggested:`_suggested_4kjnf_123`,destructive:`_destructive_4kjnf_145`,dropdown:`_dropdown_4kjnf_167`,dropdownVisible:`_dropdownVisible_4kjnf_185`};exports.default=e;
|
|
2
|
+
//# sourceMappingURL=SplitButton.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.module.css.cjs","names":[],"sources":["../../../src/components/SplitButton/SplitButton.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.container {\n display: inline-flex;\n align-items: stretch;\n border-radius: var(--gnome-radius-md);\n border: 1px solid transparent;\n overflow: visible;\n position: relative;\n}\n\n/* ─── Shared button base ────────────────────────────────────────────────────── */\n\n.primary,\n.toggle {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n outline: none;\n font: inherit;\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body);\n font-weight: var(--gnome-font-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n\n min-height: 34px;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.primary:focus-visible,\n.toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color);\n position: relative;\n z-index: 1;\n}\n\n.primary:disabled,\n.toggle:disabled {\n opacity: var(--gnome-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Primary half ──────────────────────────────────────────────────────────── */\n\n.primary {\n border-radius: var(--gnome-radius-md) 0 0 var(--gnome-radius-md);\n padding: var(--gnome-space-1) var(--gnome-space-2);\n background: transparent;\n}\n\n/* ─── Separator ─────────────────────────────────────────────────────────────── */\n\n.separator {\n display: block;\n width: 1px;\n align-self: stretch;\n flex-shrink: 0;\n}\n\n/* ─── Toggle (arrow) half ───────────────────────────────────────────────────── */\n\n.toggle {\n border-radius: 0 var(--gnome-radius-md) var(--gnome-radius-md) 0;\n padding: var(--gnome-space-1) 8px;\n background: transparent;\n}\n\n.chevron {\n display: block;\n flex-shrink: 0;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border-color: var(--gnome-light-3, #deddda);\n box-shadow: var(--gnome-shadow-sm);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.default .primary:hover:not(:disabled),\n.default .toggle:hover:not(:disabled) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.default .primary:active:not(:disabled),\n.default .toggle:active:not(:disabled) {\n background-color: var(--gnome-active-overlay);\n}\n\n.default .separator {\n background-color: var(--gnome-light-3, #deddda);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .separator {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n\n/* ─── Variant: suggested ────────────────────────────────────────────────────── */\n\n.suggested {\n background-color: var(--gnome-accent-bg-color);\n border-color: transparent;\n color: var(--gnome-accent-fg-color);\n}\n\n.suggested .primary:hover:not(:disabled),\n.suggested .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.suggested .primary:active:not(:disabled),\n.suggested .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.suggested .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Variant: destructive ──────────────────────────────────────────────────── */\n\n.destructive {\n background-color: var(--gnome-destructive-bg-color);\n border-color: transparent;\n color: var(--gnome-destructive-fg-color);\n}\n\n.destructive .primary:hover:not(:disabled),\n.destructive .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.destructive .primary:active:not(:disabled),\n.destructive .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.destructive .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Dropdown panel ────────────────────────────────────────────────────────── */\n\n.dropdown {\n position: fixed;\n z-index: var(--gnome-z-popover, 1000);\n min-width: 160px;\n\n background-color: var(--gnome-popover-bg-color, #ffffff);\n border: 1px solid var(--gnome-popover-border-color, rgba(0, 0, 0, 0.12));\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.18));\n padding: var(--gnome-space-1, 6px);\n\n opacity: 0;\n transform: translateY(-4px);\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.dropdownVisible {\n opacity: 1;\n transform: translateY(0);\n}\n\n@media (prefers-color-scheme: dark) {\n .dropdown {\n background-color: var(--gnome-popover-bg-color, #2d2d2d);\n border-color: rgba(255, 255, 255, 0.1);\n }\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .default {\n border-width: 2px;\n box-shadow: none;\n }\n\n .primary:focus-visible,\n .toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width) + 1px) var(--gnome-window-bg-color);\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
container: "_container_4kjnf_3",
|
|
3
|
+
primary: "_primary_4kjnf_14",
|
|
4
|
+
toggle: "_toggle_4kjnf_15",
|
|
5
|
+
separator: "_separator_4kjnf_66",
|
|
6
|
+
chevron: "_chevron_4kjnf_81",
|
|
7
|
+
default: "_default_4kjnf_88",
|
|
8
|
+
suggested: "_suggested_4kjnf_123",
|
|
9
|
+
destructive: "_destructive_4kjnf_145",
|
|
10
|
+
dropdown: "_dropdown_4kjnf_167",
|
|
11
|
+
dropdownVisible: "_dropdownVisible_4kjnf_185"
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { e as default };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=SplitButton.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton.module.css.js","names":[],"sources":["../../../src/components/SplitButton/SplitButton.module.css"],"sourcesContent":["/* ─── Container ─────────────────────────────────────────────────────────────── */\n\n.container {\n display: inline-flex;\n align-items: stretch;\n border-radius: var(--gnome-radius-md);\n border: 1px solid transparent;\n overflow: visible;\n position: relative;\n}\n\n/* ─── Shared button base ────────────────────────────────────────────────────── */\n\n.primary,\n.toggle {\n appearance: none;\n -webkit-appearance: none;\n border: none;\n outline: none;\n font: inherit;\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n font-family: var(--gnome-font-family);\n font-size: var(--gnome-font-size-body);\n font-weight: var(--gnome-font-weight-semibold);\n line-height: 1;\n white-space: nowrap;\n\n min-height: 34px;\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n box-shadow var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.primary:focus-visible,\n.toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color);\n position: relative;\n z-index: 1;\n}\n\n.primary:disabled,\n.toggle:disabled {\n opacity: var(--gnome-opacity-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ─── Primary half ──────────────────────────────────────────────────────────── */\n\n.primary {\n border-radius: var(--gnome-radius-md) 0 0 var(--gnome-radius-md);\n padding: var(--gnome-space-1) var(--gnome-space-2);\n background: transparent;\n}\n\n/* ─── Separator ─────────────────────────────────────────────────────────────── */\n\n.separator {\n display: block;\n width: 1px;\n align-self: stretch;\n flex-shrink: 0;\n}\n\n/* ─── Toggle (arrow) half ───────────────────────────────────────────────────── */\n\n.toggle {\n border-radius: 0 var(--gnome-radius-md) var(--gnome-radius-md) 0;\n padding: var(--gnome-space-1) 8px;\n background: transparent;\n}\n\n.chevron {\n display: block;\n flex-shrink: 0;\n}\n\n/* ─── Variant: default ──────────────────────────────────────────────────────── */\n\n.default {\n background-color: var(--gnome-card-bg-color, #ffffff);\n border-color: var(--gnome-light-3, #deddda);\n box-shadow: var(--gnome-shadow-sm);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.default .primary:hover:not(:disabled),\n.default .toggle:hover:not(:disabled) {\n background-color: var(--gnome-hover-overlay);\n}\n\n.default .primary:active:not(:disabled),\n.default .toggle:active:not(:disabled) {\n background-color: var(--gnome-active-overlay);\n}\n\n.default .separator {\n background-color: var(--gnome-light-3, #deddda);\n}\n\n@media (prefers-color-scheme: dark) {\n .default {\n background-color: var(--gnome-card-bg-color, #383838);\n border-color: rgba(255, 255, 255, 0.12);\n box-shadow: none;\n }\n\n .default .separator {\n background-color: rgba(255, 255, 255, 0.12);\n }\n}\n\n/* ─── Variant: suggested ────────────────────────────────────────────────────── */\n\n.suggested {\n background-color: var(--gnome-accent-bg-color);\n border-color: transparent;\n color: var(--gnome-accent-fg-color);\n}\n\n.suggested .primary:hover:not(:disabled),\n.suggested .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.suggested .primary:active:not(:disabled),\n.suggested .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.suggested .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Variant: destructive ──────────────────────────────────────────────────── */\n\n.destructive {\n background-color: var(--gnome-destructive-bg-color);\n border-color: transparent;\n color: var(--gnome-destructive-fg-color);\n}\n\n.destructive .primary:hover:not(:disabled),\n.destructive .toggle:hover:not(:disabled) {\n filter: brightness(1.08);\n}\n\n.destructive .primary:active:not(:disabled),\n.destructive .toggle:active:not(:disabled) {\n filter: brightness(0.92);\n}\n\n.destructive .separator {\n background-color: rgba(255, 255, 255, 0.25);\n}\n\n/* ─── Dropdown panel ────────────────────────────────────────────────────────── */\n\n.dropdown {\n position: fixed;\n z-index: var(--gnome-z-popover, 1000);\n min-width: 160px;\n\n background-color: var(--gnome-popover-bg-color, #ffffff);\n border: 1px solid var(--gnome-popover-border-color, rgba(0, 0, 0, 0.12));\n border-radius: var(--gnome-radius-md);\n box-shadow: var(--gnome-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.18));\n padding: var(--gnome-space-1, 6px);\n\n opacity: 0;\n transform: translateY(-4px);\n transition:\n opacity var(--gnome-duration-fast) var(--gnome-easing-default),\n transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n.dropdownVisible {\n opacity: 1;\n transform: translateY(0);\n}\n\n@media (prefers-color-scheme: dark) {\n .dropdown {\n background-color: var(--gnome-popover-bg-color, #2d2d2d);\n border-color: rgba(255, 255, 255, 0.1);\n }\n}\n\n/* ─── High contrast ─────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .default {\n border-width: 2px;\n box-shadow: none;\n }\n\n .primary:focus-visible,\n .toggle:focus-visible {\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset) var(--gnome-window-bg-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width)) var(--gnome-focus-ring-color),\n 0 0 0 calc(var(--gnome-focus-ring-offset) + var(--gnome-focus-ring-width) + 1px) var(--gnome-window-bg-color);\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./SplitButton/SplitButton.cjs`);exports.SplitButton=e.SplitButton;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./StatusBadge.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({variant:n=`neutral`,className:r,children:i,...a}){return(0,t.jsx)(`span`,{className:[e.default.badge,e.default[n],r].filter(Boolean).join(` `),...a,children:i})}exports.StatusBadge=n;
|
|
2
|
+
//# sourceMappingURL=StatusBadge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./StatusBadge.module.css\";\n\nexport type StatusBadgeVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"new\"\n | \"accent\"\n | \"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 function StatusBadge({\n variant = \"neutral\",\n className,\n children,\n ...props\n}: StatusBadgeProps) {\n return (\n <span\n className={[styles.badge, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"mappings":"mFAqCA,SAAgB,EAAY,CAC1B,UAAU,UACV,YACA,WACA,GAAG,GACgB,CACnB,OACE,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,CAAC,EAAA,QAAO,MAAO,EAAA,QAAO,GAAU,EAAU,CAClD,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,EAEH,WACI,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import e from "./StatusBadge.module.css.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/StatusBadge/StatusBadge.tsx
|
|
4
|
+
function n({ variant: n = "neutral", className: r, children: i, ...a }) {
|
|
5
|
+
return /* @__PURE__ */ t("span", {
|
|
6
|
+
className: [
|
|
7
|
+
e.badge,
|
|
8
|
+
e[n],
|
|
9
|
+
r
|
|
10
|
+
].filter(Boolean).join(" "),
|
|
11
|
+
...a,
|
|
12
|
+
children: i
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { n as StatusBadge };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=StatusBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./StatusBadge.module.css\";\n\nexport type StatusBadgeVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"new\"\n | \"accent\"\n | \"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 function StatusBadge({\n variant = \"neutral\",\n className,\n children,\n ...props\n}: StatusBadgeProps) {\n return (\n <span\n className={[styles.badge, styles[variant], className]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {children}\n </span>\n );\n}\n"],"mappings":";;;AAqCA,SAAgB,EAAY,EAC1B,aAAU,WACV,cACA,aACA,GAAG,KACgB;AACnB,QACE,kBAAC,QAAD;EACE,WAAW;GAAC,EAAO;GAAO,EAAO;GAAU;GAAU,CAClD,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;EAEH;EACI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.module.css.cjs","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.module.css"],"sourcesContent":["/* ─── Base ────────────────────────────────────────────────────────────────── */\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: var(--gnome-radius-pill, 9999px);\n font-family: var(--gnome-font-family);\n font-size: 0.6875rem;\n font-weight: 600;\n line-height: 1.4;\n white-space: nowrap;\n letter-spacing: 0.02em;\n}\n\n/* ─── Variants ────────────────────────────────────────────────────────────── */\n\n.success {\n background-color: var(--gnome-success-bg-color, #2ec27e);\n color: var(--gnome-success-fg-color, #ffffff);\n}\n\n.warning {\n background-color: var(--gnome-warning-bg-color, #f6d32d);\n color: var(--gnome-warning-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.error {\n background-color: var(--gnome-error-bg-color, #e01b24);\n color: var(--gnome-error-fg-color, #ffffff);\n}\n\n.new {\n background-color: var(--gnome-new-bg-color, #9141ac);\n color: var(--gnome-new-fg-color, #ffffff);\n}\n\n.accent {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n}\n\n.neutral {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.08));\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
badge: "_badge_yj13e_3",
|
|
3
|
+
success: "_success_yj13e_18",
|
|
4
|
+
warning: "_warning_yj13e_23",
|
|
5
|
+
error: "_error_yj13e_28",
|
|
6
|
+
new: "_new_yj13e_33",
|
|
7
|
+
accent: "_accent_yj13e_38",
|
|
8
|
+
neutral: "_neutral_yj13e_43"
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { e as default };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=StatusBadge.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.module.css.js","names":[],"sources":["../../../src/components/StatusBadge/StatusBadge.module.css"],"sourcesContent":["/* ─── Base ────────────────────────────────────────────────────────────────── */\n\n.badge {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: var(--gnome-radius-pill, 9999px);\n font-family: var(--gnome-font-family);\n font-size: 0.6875rem;\n font-weight: 600;\n line-height: 1.4;\n white-space: nowrap;\n letter-spacing: 0.02em;\n}\n\n/* ─── Variants ────────────────────────────────────────────────────────────── */\n\n.success {\n background-color: var(--gnome-success-bg-color, #2ec27e);\n color: var(--gnome-success-fg-color, #ffffff);\n}\n\n.warning {\n background-color: var(--gnome-warning-bg-color, #f6d32d);\n color: var(--gnome-warning-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n.error {\n background-color: var(--gnome-error-bg-color, #e01b24);\n color: var(--gnome-error-fg-color, #ffffff);\n}\n\n.new {\n background-color: var(--gnome-new-bg-color, #9141ac);\n color: var(--gnome-new-fg-color, #ffffff);\n}\n\n.accent {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n color: var(--gnome-accent-fg-color, #ffffff);\n}\n\n.neutral {\n background-color: var(--gnome-hover-overlay, rgba(0, 0, 0, 0.08));\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./StatusBadge/StatusBadge.cjs`);exports.StatusBadge=e.StatusBadge;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`../Icon/Icon.cjs`),t=require(`./StatusPage.module.css.cjs`);let n=require(`react/jsx-runtime`);function 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
|
+
//# sourceMappingURL=StatusPage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPage.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\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 function 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 : iconNode ?? null;\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 && (\n <p className={styles.description}>{description}</p>\n )}\n\n {children && (\n <div className={styles.actions}>{children}</div>\n )}\n </div>\n );\n}\n"],"mappings":"gHA2CA,SAAgB,EAAW,CACzB,OACA,WACA,QACA,cACA,WACA,UAAU,GACV,YACA,GAAG,GACe,CAClB,IAAM,EAAW,EAAU,GAAK,IAC1B,EAAc,GAChB,EAAA,EAAA,KAAC,EAAA,KAAD,CAAY,OAAM,MAAO,EAAU,OAAQ,EAAU,cAAA,GAAc,CAAA,CACnE,GAAY,KAEhB,OACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,CAAC,EAAA,QAAO,KAAM,EAAU,EAAA,QAAO,QAAU,KAAM,EAAU,CACjE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,GAAI,WAJN,CAMG,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,SAAU,cAAY,gBAC1C,EACG,CAAA,EAGR,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,eAAQ,EAAU,CAAA,CAEtC,IACC,EAAA,EAAA,KAAC,IAAD,CAAG,UAAW,EAAA,QAAO,qBAAc,EAAgB,CAAA,CAGpD,IACC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,QAAO,QAAU,WAAe,CAAA,CAE9C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Icon as e } from "../Icon/Icon.js";
|
|
2
|
+
import t from "./StatusPage.module.css.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/StatusPage/StatusPage.tsx
|
|
5
|
+
function i({ icon: i, iconNode: a, title: o, description: s, children: c, compact: l = !1, className: u, ...d }) {
|
|
6
|
+
let f = l ? 64 : 128, p = i ? /* @__PURE__ */ n(e, {
|
|
7
|
+
icon: i,
|
|
8
|
+
width: f,
|
|
9
|
+
height: f,
|
|
10
|
+
"aria-hidden": !0
|
|
11
|
+
}) : a ?? null;
|
|
12
|
+
return /* @__PURE__ */ r("div", {
|
|
13
|
+
className: [
|
|
14
|
+
t.page,
|
|
15
|
+
l ? t.compact : null,
|
|
16
|
+
u
|
|
17
|
+
].filter(Boolean).join(" "),
|
|
18
|
+
...d,
|
|
19
|
+
children: [
|
|
20
|
+
p && /* @__PURE__ */ n("div", {
|
|
21
|
+
className: t.iconWrap,
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
children: p
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ n("p", {
|
|
26
|
+
className: t.title,
|
|
27
|
+
children: o
|
|
28
|
+
}),
|
|
29
|
+
s && /* @__PURE__ */ n("p", {
|
|
30
|
+
className: t.description,
|
|
31
|
+
children: s
|
|
32
|
+
}),
|
|
33
|
+
c && /* @__PURE__ */ n("div", {
|
|
34
|
+
className: t.actions,
|
|
35
|
+
children: c
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { i as StatusPage };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=StatusPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPage.js","names":[],"sources":["../../../src/components/StatusPage/StatusPage.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport type { IconDefinition } from \"@gnome-ui/icons\";\nimport { Icon } from \"../Icon\";\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 function 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 : iconNode ?? null;\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 && (\n <p className={styles.description}>{description}</p>\n )}\n\n {children && (\n <div className={styles.actions}>{children}</div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;AA2CA,SAAgB,EAAW,EACzB,SACA,aACA,UACA,gBACA,aACA,aAAU,IACV,cACA,GAAG,KACe;CAClB,IAAM,IAAW,IAAU,KAAK,KAC1B,IAAc,IAChB,kBAAC,GAAD;EAAY;EAAM,OAAO;EAAU,QAAQ;EAAU,eAAA;EAAc,CAAA,GACnE,KAAY;AAEhB,QACE,kBAAC,OAAD;EACE,WAAW;GAAC,EAAO;GAAM,IAAU,EAAO,UAAU;GAAM;GAAU,CACjE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,GAAI;YAJN;GAMG,KACC,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAU,eAAY;cAC1C;IACG,CAAA;GAGR,kBAAC,KAAD;IAAG,WAAW,EAAO;cAAQ;IAAU,CAAA;GAEtC,KACC,kBAAC,KAAD;IAAG,WAAW,EAAO;cAAc;IAAgB,CAAA;GAGpD,KACC,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAU;IAAe,CAAA;GAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPage.module.css.cjs","names":[],"sources":["../../../src/components/StatusPage/StatusPage.module.css"],"sourcesContent":["/* ─── Page container ─────────────────────────────────────────────────────────── */\n\n.page {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n width: 100%;\n padding: var(--gnome-space-6, 48px) var(--gnome-space-4, 24px);\n gap: 0;\n\n font-family: var(--gnome-font-family);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Icon ───────────────────────────────────────────────────────────────────── */\n\n.iconWrap {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--gnome-space-4, 24px);\n\n /* Adwaita dims the icon slightly to keep the title as the focal point */\n opacity: 0.55;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Title ──────────────────────────────────────────────────────────────────── */\n\n.title {\n margin: 0;\n\n font-size: var(--gnome-font-size-title-1, 2rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: var(--gnome-line-height-title, 1.2);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Description ────────────────────────────────────────────────────────────── */\n\n.description {\n margin: var(--gnome-space-2, 12px) 0 0;\n\n max-width: 36ch;\n\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n/* ─── Actions ────────────────────────────────────────────────────────────────── */\n\n.actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gnome-space-2, 12px);\n justify-content: center;\n margin-top: var(--gnome-space-4, 24px);\n}\n\n/* ─── Compact mode ───────────────────────────────────────────────────────────── */\n\n.compact {\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n}\n\n.compact .iconWrap {\n margin-bottom: var(--gnome-space-2, 12px);\n}\n\n.compact .title {\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n.compact .description {\n font-size: var(--gnome-font-size-caption, 0.75rem);\n margin-top: var(--gnome-space-1, 6px);\n}\n\n.compact .actions {\n margin-top: var(--gnome-space-2, 12px);\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .iconWrap {\n opacity: 0.45;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
page: "_page_cb4hq_3",
|
|
3
|
+
iconWrap: "_iconWrap_cb4hq_20",
|
|
4
|
+
title: "_title_cb4hq_33",
|
|
5
|
+
description: "_description_cb4hq_44",
|
|
6
|
+
actions: "_actions_cb4hq_58",
|
|
7
|
+
compact: "_compact_cb4hq_68"
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { e as default };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=StatusPage.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPage.module.css.js","names":[],"sources":["../../../src/components/StatusPage/StatusPage.module.css"],"sourcesContent":["/* ─── Page container ─────────────────────────────────────────────────────────── */\n\n.page {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n width: 100%;\n padding: var(--gnome-space-6, 48px) var(--gnome-space-4, 24px);\n gap: 0;\n\n font-family: var(--gnome-font-family);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Icon ───────────────────────────────────────────────────────────────────── */\n\n.iconWrap {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--gnome-space-4, 24px);\n\n /* Adwaita dims the icon slightly to keep the title as the focal point */\n opacity: 0.55;\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Title ──────────────────────────────────────────────────────────────────── */\n\n.title {\n margin: 0;\n\n font-size: var(--gnome-font-size-title-1, 2rem);\n font-weight: var(--gnome-font-weight-bold, 700);\n line-height: var(--gnome-line-height-title, 1.2);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n}\n\n/* ─── Description ────────────────────────────────────────────────────────────── */\n\n.description {\n margin: var(--gnome-space-2, 12px) 0 0;\n\n max-width: 36ch;\n\n font-size: var(--gnome-font-size-body, 1rem);\n font-weight: var(--gnome-font-weight-normal, 400);\n line-height: var(--gnome-line-height-body, 1.5);\n color: var(--gnome-window-fg-color, rgba(0, 0, 0, 0.8));\n opacity: var(--gnome-opacity-dim, 0.55);\n}\n\n/* ─── Actions ────────────────────────────────────────────────────────────────── */\n\n.actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gnome-space-2, 12px);\n justify-content: center;\n margin-top: var(--gnome-space-4, 24px);\n}\n\n/* ─── Compact mode ───────────────────────────────────────────────────────────── */\n\n.compact {\n padding: var(--gnome-space-3, 18px) var(--gnome-space-3, 18px);\n}\n\n.compact .iconWrap {\n margin-bottom: var(--gnome-space-2, 12px);\n}\n\n.compact .title {\n font-size: var(--gnome-font-size-title-4, 1.125rem);\n font-weight: var(--gnome-font-weight-semibold, 600);\n}\n\n.compact .description {\n font-size: var(--gnome-font-size-caption, 0.75rem);\n margin-top: var(--gnome-space-1, 6px);\n}\n\n.compact .actions {\n margin-top: var(--gnome-space-2, 12px);\n gap: var(--gnome-space-1, 6px);\n}\n\n/* ─── Dark mode ──────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .iconWrap {\n opacity: 0.45;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./StatusPage/StatusPage.cjs`);exports.StatusPage=e.StatusPage;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./Switch.module.css.cjs`);let t=require(`react/jsx-runtime`);function n({className:n,...r}){return(0,t.jsx)(`input`,{type:`checkbox`,role:`switch`,className:[e.default.switch,n].filter(Boolean).join(` `),...r})}exports.Switch=n;
|
|
2
|
+
//# sourceMappingURL=Switch.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.cjs","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from \"react\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n /** Accessible label. Required when no visible `<label>` is associated. */\n \"aria-label\"?: string;\n}\n\n/**\n * On/off toggle following the Adwaita switch style.\n *\n * Renders as `<input type=\"checkbox\" role=\"switch\">` so it is natively\n * keyboard-accessible and works with standard form libraries.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/switches.html\n */\nexport function Switch({ className, ...props }: SwitchProps) {\n return (\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={[styles.switch, className].filter(Boolean).join(\" \")}\n {...props}\n />\n );\n}\n"],"mappings":"8EAiBA,SAAgB,EAAO,CAAE,YAAW,GAAG,GAAsB,CAC3D,OACE,EAAA,EAAA,KAAC,QAAD,CACE,KAAK,WACL,KAAK,SACL,UAAW,CAAC,EAAA,QAAO,OAAQ,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAC/D,GAAI,EACJ,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import e from "./Switch.module.css.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/Switch/Switch.tsx
|
|
4
|
+
function n({ className: n, ...r }) {
|
|
5
|
+
return /* @__PURE__ */ t("input", {
|
|
6
|
+
type: "checkbox",
|
|
7
|
+
role: "switch",
|
|
8
|
+
className: [e.switch, n].filter(Boolean).join(" "),
|
|
9
|
+
...r
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { n as Switch };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=Switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.js","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from \"react\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n /** Accessible label. Required when no visible `<label>` is associated. */\n \"aria-label\"?: string;\n}\n\n/**\n * On/off toggle following the Adwaita switch style.\n *\n * Renders as `<input type=\"checkbox\" role=\"switch\">` so it is natively\n * keyboard-accessible and works with standard form libraries.\n *\n * @see https://developer.gnome.org/hig/patterns/controls/switches.html\n */\nexport function Switch({ className, ...props }: SwitchProps) {\n return (\n <input\n type=\"checkbox\"\n role=\"switch\"\n className={[styles.switch, className].filter(Boolean).join(\" \")}\n {...props}\n />\n );\n}\n"],"mappings":";;;AAiBA,SAAgB,EAAO,EAAE,cAAW,GAAG,KAAsB;AAC3D,QACE,kBAAC,SAAD;EACE,MAAK;EACL,MAAK;EACL,WAAW,CAAC,EAAO,QAAQ,EAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAC/D,GAAI;EACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.module.css.cjs","names":[],"sources":["../../../src/components/Switch/Switch.module.css"],"sourcesContent":["/* ─── Reset & layout ───────────────────────────────────────────────────────── */\n\n.switch {\n appearance: none;\n -webkit-appearance: none;\n position: relative;\n display: inline-block;\n cursor: pointer;\n flex-shrink: 0;\n\n width: 56px;\n height: 28px;\n border-radius: var(--gnome-radius-pill);\n\n background-color: var(--gnome-light-4, #c0bfbc);\n border: 1px solid var(--gnome-border-subtle);\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n border-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Thumb ────────────────────────────────────────────────────────────────── */\n\n.switch::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n width: 20px;\n height: 20px;\n border-radius: var(--gnome-radius-pill);\n background-color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Checked ──────────────────────────────────────────────────────────────── */\n\n.switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n}\n\n.switch:checked::before {\n transform: translateX(28px);\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.switch:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Disabled ─────────────────────────────────────────────────────────────── */\n\n.switch:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switch {\n background-color: var(--gnome-dark-2, #5e5c64);\n border-color: var(--gnome-border-subtle);\n }\n\n .switch::before {\n background-color: var(--gnome-light-3, #deddda);\n }\n\n .switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n }\n\n .switch:checked::before {\n background-color: #ffffff;\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .switch {\n border-width: 2px;\n }\n\n .switch::before {\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .switch,\n .switch::before {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.module.css.js","names":[],"sources":["../../../src/components/Switch/Switch.module.css"],"sourcesContent":["/* ─── Reset & layout ───────────────────────────────────────────────────────── */\n\n.switch {\n appearance: none;\n -webkit-appearance: none;\n position: relative;\n display: inline-block;\n cursor: pointer;\n flex-shrink: 0;\n\n width: 56px;\n height: 28px;\n border-radius: var(--gnome-radius-pill);\n\n background-color: var(--gnome-light-4, #c0bfbc);\n border: 1px solid var(--gnome-border-subtle);\n\n transition:\n background-color var(--gnome-duration-fast) var(--gnome-easing-default),\n border-color var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Thumb ────────────────────────────────────────────────────────────────── */\n\n.switch::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n width: 20px;\n height: 20px;\n border-radius: var(--gnome-radius-pill);\n background-color: #ffffff;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\n transition: transform var(--gnome-duration-fast) var(--gnome-easing-default);\n}\n\n/* ─── Checked ──────────────────────────────────────────────────────────────── */\n\n.switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n}\n\n.switch:checked::before {\n transform: translateX(28px);\n}\n\n/* ─── Focus ────────────────────────────────────────────────────────────────── */\n\n.switch:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 var(--gnome-focus-ring-offset, 2px) var(--gnome-window-bg-color, #fafafa),\n 0 0 0 calc(var(--gnome-focus-ring-offset, 2px) + var(--gnome-focus-ring-width, 3px))\n var(--gnome-focus-ring-color, #3584e4);\n}\n\n/* ─── Disabled ─────────────────────────────────────────────────────────────── */\n\n.switch:disabled {\n opacity: var(--gnome-opacity-disabled, 0.5);\n cursor: not-allowed;\n}\n\n/* ─── Dark mode ────────────────────────────────────────────────────────────── */\n\n@media (prefers-color-scheme: dark) {\n .switch {\n background-color: var(--gnome-dark-2, #5e5c64);\n border-color: var(--gnome-border-subtle);\n }\n\n .switch::before {\n background-color: var(--gnome-light-3, #deddda);\n }\n\n .switch:checked {\n background-color: var(--gnome-accent-bg-color, #3584e4);\n border-color: var(--gnome-accent-bg-color, #3584e4);\n }\n\n .switch:checked::before {\n background-color: #ffffff;\n }\n}\n\n/* ─── High contrast ────────────────────────────────────────────────────────── */\n\n@media (prefers-contrast: more) {\n .switch {\n border-width: 2px;\n }\n\n .switch::before {\n box-shadow: none;\n }\n}\n\n/* ─── Reduced motion ───────────────────────────────────────────────────────── */\n\n@media (prefers-reduced-motion: reduce) {\n .switch,\n .switch::before {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./Switch/Switch.cjs`);exports.Switch=e.Switch;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./SwitchRow.module.css.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({title:r,subtitle:i,leading:a,checked:o,defaultChecked:s=!1,onCheckedChange:c,disabled:l=!1,className:u,onClick:d,...f}){let p=o!==void 0,[m,h]=(0,t.useState)(s),g=p?o:m,_=(0,t.useId)(),v=e=>{let t=!g;p||h(t),c?.(t),d?.(e)};return(0,n.jsxs)(`button`,{role:`switch`,"aria-checked":g,"aria-labelledby":_,disabled:l,className:[e.default.row,l?e.default.disabled:null,u].filter(Boolean).join(` `),onClick:v,...f,children:[a&&(0,n.jsx)(`span`,{className:e.default.leading,children:a}),(0,n.jsxs)(`span`,{className:e.default.content,id:_,children:[(0,n.jsx)(`span`,{className:e.default.title,children:r}),i&&(0,n.jsx)(`span`,{className:e.default.subtitle,children:i})]}),(0,n.jsx)(`span`,{className:e.default.switchTrack,"aria-hidden":`true`,children:(0,n.jsx)(`span`,{className:[e.default.switchThumb,g?e.default.switchThumbOn:null].filter(Boolean).join(` `)})})]})}exports.SwitchRow=r;
|
|
2
|
+
//# sourceMappingURL=SwitchRow.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchRow.cjs","names":[],"sources":["../../../src/components/SwitchRow/SwitchRow.tsx"],"sourcesContent":["import { useState, useId, type HTMLAttributes, type ReactNode } from \"react\";\nimport styles from \"./SwitchRow.module.css\";\n\nexport interface SwitchRowProps extends Omit<HTMLAttributes<HTMLButtonElement>, \"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 /** Controlled checked state. */\n checked?: boolean;\n /** Initial checked state when uncontrolled. Defaults to `false`. */\n defaultChecked?: boolean;\n /** Called when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void;\n /** Disables the row. */\n disabled?: boolean;\n}\n\n/**\n * Activatable row with an integrated switch.\n *\n * The entire row is a button — clicking anywhere toggles the switch.\n * Mirrors `AdwSwitchRow`, which differs from `ActionRow + trailing Switch`\n * because the row itself is the interactive element.\n *\n * Supports both controlled (`checked`) and uncontrolled (`defaultChecked`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SwitchRow.html\n */\nexport function SwitchRow({\n title,\n subtitle,\n leading,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n className,\n onClick,\n ...props\n}: SwitchRowProps) {\n const isControlled = controlledChecked !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked);\n const checked = isControlled ? controlledChecked : uncontrolledChecked;\n\n const switchId = useId();\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const next = !checked;\n if (!isControlled) setUncontrolledChecked(next);\n onCheckedChange?.(next);\n onClick?.(e);\n };\n\n return (\n <button\n role=\"switch\"\n aria-checked={checked}\n aria-labelledby={switchId}\n disabled={disabled}\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(\" \")}\n onClick={handleClick}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content} id={switchId}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Visual switch indicator — aria-hidden since the button carries the role */}\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={[styles.switchThumb, checked ? styles.switchThumbOn : null].filter(Boolean).join(\" \")} />\n </span>\n </button>\n );\n}\n"],"mappings":"oGA+BA,SAAgB,EAAU,CACxB,QACA,WACA,UACA,QAAS,EACT,iBAAiB,GACjB,kBACA,WAAW,GACX,YACA,UACA,GAAG,GACc,CACjB,IAAM,EAAe,IAAsB,IAAA,GACrC,CAAC,EAAqB,IAAA,EAAA,EAAA,UAAmC,EAAe,CACxE,EAAU,EAAe,EAAoB,EAE7C,GAAA,EAAA,EAAA,QAAkB,CAElB,EAAe,GAA2C,CAC9D,IAAM,EAAO,CAAC,EACT,GAAc,EAAuB,EAAK,CAC/C,IAAkB,EAAK,CACvB,IAAU,EAAE,EAGd,OACE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,eAAc,EACd,kBAAiB,EACP,WACV,UAAW,CAAC,EAAA,QAAO,IAAK,EAAW,EAAA,QAAO,SAAW,KAAM,EAAU,CAClE,OAAO,QAAQ,CACf,KAAK,IAAI,CACZ,QAAS,EACT,GAAI,WATN,CAWG,IAAW,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,iBAAU,EAAe,CAAA,EAE7D,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,QAAO,QAAS,GAAI,WAArC,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,eAAQ,EAAa,CAAA,CAC5C,IAAY,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,kBAAW,EAAgB,CAAA,CAC3D,IAGP,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,QAAO,YAAa,cAAY,iBAC/C,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,CAAC,EAAA,QAAO,YAAa,EAAU,EAAA,QAAO,cAAgB,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAI,CAAA,CACrG,CAAA,CACA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import e from "./SwitchRow.module.css.js";
|
|
2
|
+
import { useId as t, useState as n } from "react";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/SwitchRow/SwitchRow.tsx
|
|
5
|
+
function a({ title: a, subtitle: o, leading: s, checked: c, defaultChecked: l = !1, onCheckedChange: u, disabled: d = !1, className: f, onClick: p, ...m }) {
|
|
6
|
+
let h = c !== void 0, [g, _] = n(l), v = h ? c : g, y = t(), b = (e) => {
|
|
7
|
+
let t = !v;
|
|
8
|
+
h || _(t), u?.(t), p?.(e);
|
|
9
|
+
};
|
|
10
|
+
return /* @__PURE__ */ i("button", {
|
|
11
|
+
role: "switch",
|
|
12
|
+
"aria-checked": v,
|
|
13
|
+
"aria-labelledby": y,
|
|
14
|
+
disabled: d,
|
|
15
|
+
className: [
|
|
16
|
+
e.row,
|
|
17
|
+
d ? e.disabled : null,
|
|
18
|
+
f
|
|
19
|
+
].filter(Boolean).join(" "),
|
|
20
|
+
onClick: b,
|
|
21
|
+
...m,
|
|
22
|
+
children: [
|
|
23
|
+
s && /* @__PURE__ */ r("span", {
|
|
24
|
+
className: e.leading,
|
|
25
|
+
children: s
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ i("span", {
|
|
28
|
+
className: e.content,
|
|
29
|
+
id: y,
|
|
30
|
+
children: [/* @__PURE__ */ r("span", {
|
|
31
|
+
className: e.title,
|
|
32
|
+
children: a
|
|
33
|
+
}), o && /* @__PURE__ */ r("span", {
|
|
34
|
+
className: e.subtitle,
|
|
35
|
+
children: o
|
|
36
|
+
})]
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ r("span", {
|
|
39
|
+
className: e.switchTrack,
|
|
40
|
+
"aria-hidden": "true",
|
|
41
|
+
children: /* @__PURE__ */ r("span", { className: [e.switchThumb, v ? e.switchThumbOn : null].filter(Boolean).join(" ") })
|
|
42
|
+
})
|
|
43
|
+
]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { a as SwitchRow };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=SwitchRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchRow.js","names":[],"sources":["../../../src/components/SwitchRow/SwitchRow.tsx"],"sourcesContent":["import { useState, useId, type HTMLAttributes, type ReactNode } from \"react\";\nimport styles from \"./SwitchRow.module.css\";\n\nexport interface SwitchRowProps extends Omit<HTMLAttributes<HTMLButtonElement>, \"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 /** Controlled checked state. */\n checked?: boolean;\n /** Initial checked state when uncontrolled. Defaults to `false`. */\n defaultChecked?: boolean;\n /** Called when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void;\n /** Disables the row. */\n disabled?: boolean;\n}\n\n/**\n * Activatable row with an integrated switch.\n *\n * The entire row is a button — clicking anywhere toggles the switch.\n * Mirrors `AdwSwitchRow`, which differs from `ActionRow + trailing Switch`\n * because the row itself is the interactive element.\n *\n * Supports both controlled (`checked`) and uncontrolled (`defaultChecked`) modes.\n *\n * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.SwitchRow.html\n */\nexport function SwitchRow({\n title,\n subtitle,\n leading,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n className,\n onClick,\n ...props\n}: SwitchRowProps) {\n const isControlled = controlledChecked !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked);\n const checked = isControlled ? controlledChecked : uncontrolledChecked;\n\n const switchId = useId();\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n const next = !checked;\n if (!isControlled) setUncontrolledChecked(next);\n onCheckedChange?.(next);\n onClick?.(e);\n };\n\n return (\n <button\n role=\"switch\"\n aria-checked={checked}\n aria-labelledby={switchId}\n disabled={disabled}\n className={[styles.row, disabled ? styles.disabled : null, className]\n .filter(Boolean)\n .join(\" \")}\n onClick={handleClick}\n {...props}\n >\n {leading && <span className={styles.leading}>{leading}</span>}\n\n <span className={styles.content} id={switchId}>\n <span className={styles.title}>{title}</span>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </span>\n\n {/* Visual switch indicator — aria-hidden since the button carries the role */}\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={[styles.switchThumb, checked ? styles.switchThumbOn : null].filter(Boolean).join(\" \")} />\n </span>\n </button>\n );\n}\n"],"mappings":";;;;AA+BA,SAAgB,EAAU,EACxB,UACA,aACA,YACA,SAAS,GACT,oBAAiB,IACjB,oBACA,cAAW,IACX,cACA,YACA,GAAG,KACc;CACjB,IAAM,IAAe,MAAsB,KAAA,GACrC,CAAC,GAAqB,KAA0B,EAAS,EAAe,EACxE,IAAU,IAAe,IAAoB,GAE7C,IAAW,GAAO,EAElB,KAAe,MAA2C;EAC9D,IAAM,IAAO,CAAC;AAGd,EAFK,KAAc,EAAuB,EAAK,EAC/C,IAAkB,EAAK,EACvB,IAAU,EAAE;;AAGd,QACE,kBAAC,UAAD;EACE,MAAK;EACL,gBAAc;EACd,mBAAiB;EACP;EACV,WAAW;GAAC,EAAO;GAAK,IAAW,EAAO,WAAW;GAAM;GAAU,CAClE,OAAO,QAAQ,CACf,KAAK,IAAI;EACZ,SAAS;EACT,GAAI;YATN;GAWG,KAAW,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAU;IAAe,CAAA;GAE7D,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAS,IAAI;cAArC,CACE,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAQ;KAAa,CAAA,EAC5C,KAAY,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAW;KAAgB,CAAA,CAC3D;;GAGP,kBAAC,QAAD;IAAM,WAAW,EAAO;IAAa,eAAY;cAC/C,kBAAC,QAAD,EAAM,WAAW,CAAC,EAAO,aAAa,IAAU,EAAO,gBAAgB,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAI,CAAA;IACrG,CAAA;GACA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={row:`_row_jl3bc_3`,disabled:`_disabled_jl3bc_41`,leading:`_leading_jl3bc_49`,content:`_content_jl3bc_58`,title:`_title_jl3bc_66`,subtitle:`_subtitle_jl3bc_77`,switchTrack:`_switchTrack_jl3bc_91`,switchThumb:`_switchThumb_jl3bc_114`,switchThumbOn:`_switchThumbOn_jl3bc_126`};exports.default=e;
|
|
2
|
+
//# sourceMappingURL=SwitchRow.module.css.cjs.map
|