@noxlovette/material 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/clickOutside.d.ts +3 -0
- package/dist/actions/clickOutside.js +13 -0
- package/dist/actions/floating.d.ts +20 -0
- package/dist/actions/floating.js +87 -0
- package/dist/actions/index.d.ts +4 -0
- package/dist/actions/index.js +4 -0
- package/dist/actions/keyboard.d.ts +3 -0
- package/dist/actions/keyboard.js +14 -0
- package/dist/actions/positionFloating.d.ts +10 -0
- package/dist/actions/positionFloating.js +59 -0
- package/dist/animation/containerTransform.d.ts +13 -0
- package/dist/animation/containerTransform.js +138 -0
- package/dist/animation/easing.d.ts +6 -0
- package/dist/animation/easing.js +78 -0
- package/dist/animation/enterExit.d.ts +3 -0
- package/dist/animation/enterExit.js +23 -0
- package/dist/animation/index.d.ts +5 -0
- package/dist/animation/index.js +5 -0
- package/dist/animation/outroClass.d.ts +3 -0
- package/dist/animation/outroClass.js +20 -0
- package/dist/animation/shapes.d.ts +35 -0
- package/dist/animation/shapes.js +37 -0
- package/dist/animation/shapesAnimatable.d.ts +35 -0
- package/dist/animation/shapesAnimatable.js +41 -0
- package/dist/animation/shapesAnimatableSmall.d.ts +29 -0
- package/dist/animation/shapesAnimatableSmall.js +33 -0
- package/dist/animation/sharedAxisTransition.d.ts +38 -0
- package/dist/animation/sharedAxisTransition.js +23 -0
- package/dist/animation/transition.d.ts +4 -0
- package/dist/animation/transition.js +4 -0
- package/dist/animation/transitionTypes.d.ts +8 -0
- package/dist/animation/transitionTypes.js +1 -0
- package/dist/components/badge/Badge.svelte +26 -0
- package/dist/components/badge/Badge.svelte.d.ts +12 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.js +6 -0
- package/dist/components/badge/theme.d.ts +16 -0
- package/dist/components/badge/theme.js +10 -0
- package/dist/components/badge/types.d.ts +18 -0
- package/dist/components/badge/types.js +1 -0
- package/dist/components/buttons/Button.svelte +53 -0
- package/dist/components/buttons/Button.svelte.d.ts +16 -0
- package/dist/components/buttons/ButtonIcon.svelte +79 -0
- package/dist/components/buttons/ButtonIcon.svelte.d.ts +14 -0
- package/dist/components/buttons/FAB.svelte +81 -0
- package/dist/components/buttons/FAB.svelte.d.ts +14 -0
- package/dist/components/buttons/FABMenu.svelte +86 -0
- package/dist/components/buttons/FABMenu.svelte.d.ts +8 -0
- package/dist/components/buttons/FABMenuItem.svelte +38 -0
- package/dist/components/buttons/FABMenuItem.svelte.d.ts +5 -0
- package/dist/components/buttons/Toggle.svelte +62 -0
- package/dist/components/buttons/Toggle.svelte.d.ts +11 -0
- package/dist/components/buttons/connected/ConnectedButtons.svelte +14 -0
- package/dist/components/buttons/connected/ConnectedButtons.svelte.d.ts +8 -0
- package/dist/components/buttons/connected/index.d.ts +2 -0
- package/dist/components/buttons/connected/index.js +5 -0
- package/dist/components/buttons/connected/types.d.ts +14 -0
- package/dist/components/buttons/connected/types.js +1 -0
- package/dist/components/buttons/index.d.ts +9 -0
- package/dist/components/buttons/index.js +13 -0
- package/dist/components/buttons/theme.d.ts +539 -0
- package/dist/components/buttons/theme.js +495 -0
- package/dist/components/buttons/types.d.ts +201 -0
- package/dist/components/buttons/types.js +1 -0
- package/dist/components/cards/Card.svelte +39 -0
- package/dist/components/cards/Card.svelte.d.ts +13 -0
- package/dist/components/cards/index.d.ts +3 -0
- package/dist/components/cards/index.js +6 -0
- package/dist/components/cards/theme.d.ts +37 -0
- package/dist/components/cards/theme.js +34 -0
- package/dist/components/cards/types.d.ts +31 -0
- package/dist/components/cards/types.js +1 -0
- package/dist/components/containers/app/App.svelte +32 -0
- package/dist/components/containers/app/App.svelte.d.ts +8 -0
- package/dist/components/containers/app/index.d.ts +3 -0
- package/dist/components/containers/app/index.js +6 -0
- package/dist/components/containers/app/theme.d.ts +3 -0
- package/dist/components/containers/app/theme.js +4 -0
- package/dist/components/containers/app/types.d.ts +25 -0
- package/dist/components/containers/app/types.js +1 -0
- package/dist/components/containers/bottom-sheet/BottomSheet.svelte +125 -0
- package/dist/components/containers/bottom-sheet/BottomSheet.svelte.d.ts +12 -0
- package/dist/components/containers/bottom-sheet/index.d.ts +2 -0
- package/dist/components/containers/bottom-sheet/index.js +5 -0
- package/dist/components/containers/bottom-sheet/types.d.ts +16 -0
- package/dist/components/containers/bottom-sheet/types.js +1 -0
- package/dist/components/containers/context-menu/ContextMenu.svelte +152 -0
- package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +23 -0
- package/dist/components/containers/context-menu/index.d.ts +3 -0
- package/dist/components/containers/context-menu/index.js +6 -0
- package/dist/components/containers/context-menu/theme.d.ts +51 -0
- package/dist/components/containers/context-menu/theme.js +21 -0
- package/dist/components/containers/context-menu/types.d.ts +45 -0
- package/dist/components/containers/context-menu/types.js +1 -0
- package/dist/components/containers/dialogue/Dialogue.svelte +134 -0
- package/dist/components/containers/dialogue/Dialogue.svelte.d.ts +14 -0
- package/dist/components/containers/dialogue/index.d.ts +3 -0
- package/dist/components/containers/dialogue/index.js +6 -0
- package/dist/components/containers/dialogue/theme.d.ts +51 -0
- package/dist/components/containers/dialogue/theme.js +10 -0
- package/dist/components/containers/dialogue/types.d.ts +46 -0
- package/dist/components/containers/dialogue/types.js +1 -0
- package/dist/components/containers/divider/Divider.svelte +100 -0
- package/dist/components/containers/divider/Divider.svelte.d.ts +13 -0
- package/dist/components/containers/divider/index.d.ts +3 -0
- package/dist/components/containers/divider/index.js +6 -0
- package/dist/components/containers/divider/theme.d.ts +33 -0
- package/dist/components/containers/divider/theme.js +15 -0
- package/dist/components/containers/divider/types.d.ts +27 -0
- package/dist/components/containers/divider/types.js +1 -0
- package/dist/components/containers/index.d.ts +15 -0
- package/dist/components/containers/index.js +17 -0
- package/dist/components/containers/link-preview/LinkPreview.svelte +64 -0
- package/dist/components/containers/link-preview/LinkPreview.svelte.d.ts +10 -0
- package/dist/components/containers/link-preview/index.d.ts +3 -0
- package/dist/components/containers/link-preview/index.js +6 -0
- package/dist/components/containers/link-preview/theme.d.ts +33 -0
- package/dist/components/containers/link-preview/theme.js +7 -0
- package/dist/components/containers/link-preview/types.d.ts +22 -0
- package/dist/components/containers/link-preview/types.js +1 -0
- package/dist/components/containers/list/ListItem.svelte +79 -0
- package/dist/components/containers/list/ListItem.svelte.d.ts +4 -0
- package/dist/components/containers/list/index.d.ts +3 -0
- package/dist/components/containers/list/index.js +6 -0
- package/dist/components/containers/list/theme.d.ts +67 -0
- package/dist/components/containers/list/theme.js +27 -0
- package/dist/components/containers/list/types.d.ts +48 -0
- package/dist/components/containers/list/types.js +1 -0
- package/dist/components/containers/menu/Menu.svelte +70 -0
- package/dist/components/containers/menu/Menu.svelte.d.ts +20 -0
- package/dist/components/containers/menu/index.d.ts +2 -0
- package/dist/components/containers/menu/index.js +5 -0
- package/dist/components/containers/menu/types.d.ts +40 -0
- package/dist/components/containers/menu/types.js +1 -0
- package/dist/components/containers/menu-item/MenuItem.svelte +75 -0
- package/dist/components/containers/menu-item/MenuItem.svelte.d.ts +20 -0
- package/dist/components/containers/menu-item/index.d.ts +2 -0
- package/dist/components/containers/menu-item/index.js +5 -0
- package/dist/components/containers/menu-item/types.d.ts +36 -0
- package/dist/components/containers/menu-item/types.js +1 -0
- package/dist/components/containers/merger/InputMerger.svelte +29 -0
- package/dist/components/containers/merger/InputMerger.svelte.d.ts +14 -0
- package/dist/components/containers/merger/index.d.ts +1 -0
- package/dist/components/containers/merger/index.js +3 -0
- package/dist/components/containers/panes/SinglePane.svelte +29 -0
- package/dist/components/containers/panes/SinglePane.svelte.d.ts +5 -0
- package/dist/components/containers/panes/SplitPane.svelte +132 -0
- package/dist/components/containers/panes/SplitPane.svelte.d.ts +5 -0
- package/dist/components/containers/panes/SupportingPane.svelte +81 -0
- package/dist/components/containers/panes/SupportingPane.svelte.d.ts +9 -0
- package/dist/components/containers/panes/index.d.ts +5 -0
- package/dist/components/containers/panes/index.js +8 -0
- package/dist/components/containers/panes/theme.d.ts +331 -0
- package/dist/components/containers/panes/theme.js +152 -0
- package/dist/components/containers/panes/types.d.ts +81 -0
- package/dist/components/containers/panes/types.js +1 -0
- package/dist/components/containers/popover/Popover.svelte +82 -0
- package/dist/components/containers/popover/Popover.svelte.d.ts +10 -0
- package/dist/components/containers/popover/index.d.ts +3 -0
- package/dist/components/containers/popover/index.js +6 -0
- package/dist/components/containers/popover/theme.d.ts +51 -0
- package/dist/components/containers/popover/theme.js +10 -0
- package/dist/components/containers/popover/types.d.ts +22 -0
- package/dist/components/containers/popover/types.js +1 -0
- package/dist/components/containers/scroll-area/ScrollArea.svelte +41 -0
- package/dist/components/containers/scroll-area/ScrollArea.svelte.d.ts +5 -0
- package/dist/components/containers/scroll-area/index.d.ts +3 -0
- package/dist/components/containers/scroll-area/index.js +6 -0
- package/dist/components/containers/scroll-area/theme.d.ts +55 -0
- package/dist/components/containers/scroll-area/theme.js +26 -0
- package/dist/components/containers/scroll-area/types.d.ts +26 -0
- package/dist/components/containers/scroll-area/types.js +1 -0
- package/dist/components/containers/side-sheet/SideSheet.svelte +21 -0
- package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +9 -0
- package/dist/components/containers/side-sheet/index.d.ts +2 -0
- package/dist/components/containers/side-sheet/index.js +5 -0
- package/dist/components/containers/side-sheet/types.d.ts +18 -0
- package/dist/components/containers/side-sheet/types.js +1 -0
- package/dist/components/containers/stack/HStack.svelte +23 -0
- package/dist/components/containers/stack/HStack.svelte.d.ts +5 -0
- package/dist/components/containers/stack/VStack.svelte +23 -0
- package/dist/components/containers/stack/VStack.svelte.d.ts +5 -0
- package/dist/components/containers/stack/index.d.ts +4 -0
- package/dist/components/containers/stack/index.js +7 -0
- package/dist/components/containers/stack/theme.d.ts +60 -0
- package/dist/components/containers/stack/theme.js +24 -0
- package/dist/components/containers/stack/types.d.ts +12 -0
- package/dist/components/containers/stack/types.js +1 -0
- package/dist/components/date/DateField.svelte +155 -0
- package/dist/components/date/DateField.svelte.d.ts +12 -0
- package/dist/components/date/DateRangeField.svelte +211 -0
- package/dist/components/date/DateRangeField.svelte.d.ts +13 -0
- package/dist/components/date/index.d.ts +4 -0
- package/dist/components/date/index.js +7 -0
- package/dist/components/date/theme.d.ts +158 -0
- package/dist/components/date/theme.js +149 -0
- package/dist/components/date/types.d.ts +64 -0
- package/dist/components/date/types.js +1 -0
- package/dist/components/forms/checkbox/Checkbox.svelte +66 -0
- package/dist/components/forms/checkbox/Checkbox.svelte.d.ts +10 -0
- package/dist/components/forms/checkbox/index.d.ts +3 -0
- package/dist/components/forms/checkbox/index.js +6 -0
- package/dist/components/forms/checkbox/theme.d.ts +141 -0
- package/dist/components/forms/checkbox/theme.js +69 -0
- package/dist/components/forms/checkbox/types.d.ts +39 -0
- package/dist/components/forms/checkbox/types.js +1 -0
- package/dist/components/forms/command/Command.svelte +14 -0
- package/dist/components/forms/command/Command.svelte.d.ts +5 -0
- package/dist/components/forms/command/CommandEmpty.svelte +14 -0
- package/dist/components/forms/command/CommandEmpty.svelte.d.ts +4 -0
- package/dist/components/forms/command/CommandGroup.svelte +17 -0
- package/dist/components/forms/command/CommandGroup.svelte.d.ts +4 -0
- package/dist/components/forms/command/CommandInput.svelte +18 -0
- package/dist/components/forms/command/CommandInput.svelte.d.ts +4 -0
- package/dist/components/forms/command/CommandItem.svelte +14 -0
- package/dist/components/forms/command/CommandItem.svelte.d.ts +4 -0
- package/dist/components/forms/command/CommandList.svelte +14 -0
- package/dist/components/forms/command/CommandList.svelte.d.ts +4 -0
- package/dist/components/forms/command/CommandSeparator.svelte +12 -0
- package/dist/components/forms/command/CommandSeparator.svelte.d.ts +4 -0
- package/dist/components/forms/command/index.d.ts +9 -0
- package/dist/components/forms/command/index.js +12 -0
- package/dist/components/forms/command/theme.d.ts +81 -0
- package/dist/components/forms/command/theme.js +15 -0
- package/dist/components/forms/command/types.d.ts +31 -0
- package/dist/components/forms/command/types.js +1 -0
- package/dist/components/forms/index.d.ts +12 -0
- package/dist/components/forms/index.js +14 -0
- package/dist/components/forms/multipart/Multipart.svelte +532 -0
- package/dist/components/forms/multipart/Multipart.svelte.d.ts +51 -0
- package/dist/components/forms/multipart/index.d.ts +1 -0
- package/dist/components/forms/multipart/index.js +3 -0
- package/dist/components/forms/pin/PinInput.svelte +51 -0
- package/dist/components/forms/pin/PinInput.svelte.d.ts +10 -0
- package/dist/components/forms/pin/index.d.ts +3 -0
- package/dist/components/forms/pin/index.js +6 -0
- package/dist/components/forms/pin/theme.d.ts +60 -0
- package/dist/components/forms/pin/theme.js +33 -0
- package/dist/components/forms/pin/types.d.ts +29 -0
- package/dist/components/forms/pin/types.js +1 -0
- package/dist/components/forms/radio-group/RadioGroup.svelte +61 -0
- package/dist/components/forms/radio-group/RadioGroup.svelte.d.ts +10 -0
- package/dist/components/forms/radio-group/index.d.ts +3 -0
- package/dist/components/forms/radio-group/index.js +6 -0
- package/dist/components/forms/radio-group/theme.d.ts +132 -0
- package/dist/components/forms/radio-group/theme.js +48 -0
- package/dist/components/forms/radio-group/types.d.ts +24 -0
- package/dist/components/forms/radio-group/types.js +1 -0
- package/dist/components/forms/search/Search.svelte +52 -0
- package/dist/components/forms/search/Search.svelte.d.ts +11 -0
- package/dist/components/forms/search/index.d.ts +3 -0
- package/dist/components/forms/search/index.js +6 -0
- package/dist/components/forms/search/theme.d.ts +33 -0
- package/dist/components/forms/search/theme.js +15 -0
- package/dist/components/forms/search/types.d.ts +34 -0
- package/dist/components/forms/search/types.js +1 -0
- package/dist/components/forms/select/Select.svelte +141 -0
- package/dist/components/forms/select/Select.svelte.d.ts +13 -0
- package/dist/components/forms/select/SelectGroup.svelte +19 -0
- package/dist/components/forms/select/SelectGroup.svelte.d.ts +8 -0
- package/dist/components/forms/select/SelectItem.svelte +35 -0
- package/dist/components/forms/select/SelectItem.svelte.d.ts +14 -0
- package/dist/components/forms/select/SelectLabel.svelte +19 -0
- package/dist/components/forms/select/SelectLabel.svelte.d.ts +8 -0
- package/dist/components/forms/select/SelectSeparator.svelte +13 -0
- package/dist/components/forms/select/SelectSeparator.svelte.d.ts +6 -0
- package/dist/components/forms/select/index.d.ts +7 -0
- package/dist/components/forms/select/index.js +10 -0
- package/dist/components/forms/select/theme.d.ts +84 -0
- package/dist/components/forms/select/theme.js +87 -0
- package/dist/components/forms/select/types.d.ts +63 -0
- package/dist/components/forms/select/types.js +1 -0
- package/dist/components/forms/slider/Slider.svelte +201 -0
- package/dist/components/forms/slider/Slider.svelte.d.ts +12 -0
- package/dist/components/forms/slider/index.d.ts +3 -0
- package/dist/components/forms/slider/index.js +6 -0
- package/dist/components/forms/slider/theme.d.ts +78 -0
- package/dist/components/forms/slider/theme.js +33 -0
- package/dist/components/forms/slider/types.d.ts +56 -0
- package/dist/components/forms/slider/types.js +1 -0
- package/dist/components/forms/switch/Switch.svelte +74 -0
- package/dist/components/forms/switch/Switch.svelte.d.ts +12 -0
- package/dist/components/forms/switch/index.d.ts +3 -0
- package/dist/components/forms/switch/index.js +6 -0
- package/dist/components/forms/switch/theme.d.ts +51 -0
- package/dist/components/forms/switch/theme.js +71 -0
- package/dist/components/forms/switch/types.d.ts +25 -0
- package/dist/components/forms/switch/types.js +1 -0
- package/dist/components/forms/textfield/Textfield.svelte +82 -0
- package/dist/components/forms/textfield/Textfield.svelte.d.ts +11 -0
- package/dist/components/forms/textfield/index.d.ts +3 -0
- package/dist/components/forms/textfield/index.js +6 -0
- package/dist/components/forms/textfield/theme.d.ts +75 -0
- package/dist/components/forms/textfield/theme.js +74 -0
- package/dist/components/forms/textfield/types.d.ts +60 -0
- package/dist/components/forms/textfield/types.js +1 -0
- package/dist/components/forms/toggle-group/ToggleGroup.svelte +38 -0
- package/dist/components/forms/toggle-group/ToggleGroup.svelte.d.ts +11 -0
- package/dist/components/forms/toggle-group/ToggleGroupItem.svelte +36 -0
- package/dist/components/forms/toggle-group/ToggleGroupItem.svelte.d.ts +8 -0
- package/dist/components/forms/toggle-group/index.d.ts +4 -0
- package/dist/components/forms/toggle-group/index.js +7 -0
- package/dist/components/forms/toggle-group/theme.d.ts +74 -0
- package/dist/components/forms/toggle-group/theme.js +20 -0
- package/dist/components/forms/toggle-group/types.d.ts +25 -0
- package/dist/components/forms/toggle-group/types.js +1 -0
- package/dist/components/forms/tooltip/Tooltip.svelte +104 -0
- package/dist/components/forms/tooltip/Tooltip.svelte.d.ts +11 -0
- package/dist/components/forms/tooltip/index.d.ts +3 -0
- package/dist/components/forms/tooltip/index.js +6 -0
- package/dist/components/forms/tooltip/theme.d.ts +105 -0
- package/dist/components/forms/tooltip/theme.js +52 -0
- package/dist/components/forms/tooltip/types.d.ts +29 -0
- package/dist/components/forms/tooltip/types.js +1 -0
- package/dist/components/index.d.ts +15 -0
- package/dist/components/index.js +17 -0
- package/dist/components/misc/Avatar.svelte +70 -0
- package/dist/components/misc/Avatar.svelte.d.ts +9 -0
- package/dist/components/misc/ThemeSettings.svelte +88 -0
- package/dist/components/misc/ThemeSettings.svelte.d.ts +18 -0
- package/dist/components/misc/ThemeSwitcher.svelte +21 -0
- package/dist/components/misc/ThemeSwitcher.svelte.d.ts +3 -0
- package/dist/components/misc/index.d.ts +5 -0
- package/dist/components/misc/index.js +8 -0
- package/dist/components/misc/theme.d.ts +52 -0
- package/dist/components/misc/theme.js +25 -0
- package/dist/components/misc/types.d.ts +18 -0
- package/dist/components/misc/types.js +1 -0
- package/dist/components/nav/appbar/AppBar.svelte +60 -0
- package/dist/components/nav/appbar/AppBar.svelte.d.ts +12 -0
- package/dist/components/nav/appbar/index.d.ts +3 -0
- package/dist/components/nav/appbar/index.js +6 -0
- package/dist/components/nav/appbar/theme.d.ts +99 -0
- package/dist/components/nav/appbar/theme.js +33 -0
- package/dist/components/nav/appbar/types.d.ts +20 -0
- package/dist/components/nav/appbar/types.js +1 -0
- package/dist/components/nav/index.d.ts +5 -0
- package/dist/components/nav/index.js +8 -0
- package/dist/components/nav/navbar/Navbar.svelte +33 -0
- package/dist/components/nav/navbar/Navbar.svelte.d.ts +18 -0
- package/dist/components/nav/navbar/NavbarItem.svelte +66 -0
- package/dist/components/nav/navbar/NavbarItem.svelte.d.ts +9 -0
- package/dist/components/nav/navbar/index.d.ts +4 -0
- package/dist/components/nav/navbar/index.js +7 -0
- package/dist/components/nav/navbar/theme.d.ts +95 -0
- package/dist/components/nav/navbar/theme.js +31 -0
- package/dist/components/nav/navbar/types.d.ts +29 -0
- package/dist/components/nav/navbar/types.js +1 -0
- package/dist/components/nav/rail/Rail.svelte +75 -0
- package/dist/components/nav/rail/Rail.svelte.d.ts +11 -0
- package/dist/components/nav/rail/RailItem.svelte +104 -0
- package/dist/components/nav/rail/RailItem.svelte.d.ts +9 -0
- package/dist/components/nav/rail/index.d.ts +4 -0
- package/dist/components/nav/rail/index.js +7 -0
- package/dist/components/nav/rail/theme.d.ts +218 -0
- package/dist/components/nav/rail/theme.js +107 -0
- package/dist/components/nav/rail/types.d.ts +44 -0
- package/dist/components/nav/rail/types.js +1 -0
- package/dist/components/nav/tabs/Tab.svelte +49 -0
- package/dist/components/nav/tabs/Tab.svelte.d.ts +9 -0
- package/dist/components/nav/tabs/TabContent.svelte +11 -0
- package/dist/components/nav/tabs/TabContent.svelte.d.ts +8 -0
- package/dist/components/nav/tabs/TabHolder.svelte +44 -0
- package/dist/components/nav/tabs/TabHolder.svelte.d.ts +16 -0
- package/dist/components/nav/tabs/index.d.ts +5 -0
- package/dist/components/nav/tabs/index.js +8 -0
- package/dist/components/nav/tabs/theme.d.ts +92 -0
- package/dist/components/nav/tabs/theme.js +37 -0
- package/dist/components/nav/tabs/types.d.ts +39 -0
- package/dist/components/nav/tabs/types.js +1 -0
- package/dist/components/nav/types.d.ts +6 -0
- package/dist/components/nav/types.js +1 -0
- package/dist/components/pill/Pill.svelte +17 -0
- package/dist/components/pill/Pill.svelte.d.ts +5 -0
- package/dist/components/pill/index.d.ts +3 -0
- package/dist/components/pill/index.js +6 -0
- package/dist/components/pill/theme.d.ts +27 -0
- package/dist/components/pill/theme.js +16 -0
- package/dist/components/pill/types.d.ts +6 -0
- package/dist/components/pill/types.js +1 -0
- package/dist/components/progress/CircularProgress.svelte +58 -0
- package/dist/components/progress/CircularProgress.svelte.d.ts +16 -0
- package/dist/components/progress/LinearProgress.svelte +45 -0
- package/dist/components/progress/LinearProgress.svelte.d.ts +15 -0
- package/dist/components/progress/WavyLinearProgress.svelte +58 -0
- package/dist/components/progress/WavyLinearProgress.svelte.d.ts +19 -0
- package/dist/components/progress/_wavy.d.ts +2 -0
- package/dist/components/progress/_wavy.js +32 -0
- package/dist/components/progress/index.d.ts +4 -0
- package/dist/components/progress/index.js +7 -0
- package/dist/components/snackbar/Snackbar.svelte +102 -0
- package/dist/components/snackbar/Snackbar.svelte.d.ts +9 -0
- package/dist/components/snackbar/index.d.ts +3 -0
- package/dist/components/snackbar/index.js +6 -0
- package/dist/components/snackbar/theme.d.ts +36 -0
- package/dist/components/snackbar/theme.js +16 -0
- package/dist/components/snackbar/types.d.ts +33 -0
- package/dist/components/snackbar/types.js +1 -0
- package/dist/components/table/Table.svelte +26 -0
- package/dist/components/table/Table.svelte.d.ts +8 -0
- package/dist/components/table/TableBody.svelte +17 -0
- package/dist/components/table/TableBody.svelte.d.ts +5 -0
- package/dist/components/table/TableCell.svelte +24 -0
- package/dist/components/table/TableCell.svelte.d.ts +8 -0
- package/dist/components/table/TableFoot.svelte +17 -0
- package/dist/components/table/TableFoot.svelte.d.ts +5 -0
- package/dist/components/table/TableHead.svelte +18 -0
- package/dist/components/table/TableHead.svelte.d.ts +8 -0
- package/dist/components/table/TableHeader.svelte +43 -0
- package/dist/components/table/TableHeader.svelte.d.ts +8 -0
- package/dist/components/table/TableRow.svelte +24 -0
- package/dist/components/table/TableRow.svelte.d.ts +8 -0
- package/dist/components/table/index.d.ts +9 -0
- package/dist/components/table/index.js +12 -0
- package/dist/components/table/theme.d.ts +165 -0
- package/dist/components/table/theme.js +50 -0
- package/dist/components/table/types.d.ts +44 -0
- package/dist/components/table/types.js +1 -0
- package/dist/components/time/TimeField.svelte +111 -0
- package/dist/components/time/TimeField.svelte.d.ts +28 -0
- package/dist/components/time/TimepickerInput.svelte +75 -0
- package/dist/components/time/TimepickerInput.svelte.d.ts +10 -0
- package/dist/components/time/index.d.ts +4 -0
- package/dist/components/time/index.js +7 -0
- package/dist/components/time/theme.d.ts +69 -0
- package/dist/components/time/theme.js +13 -0
- package/dist/components/time/types.d.ts +34 -0
- package/dist/components/time/types.js +1 -0
- package/dist/components/toolbar/Toolbar.svelte +26 -0
- package/dist/components/toolbar/Toolbar.svelte.d.ts +10 -0
- package/dist/components/toolbar/ToolbarButton.svelte +25 -0
- package/dist/components/toolbar/ToolbarButton.svelte.d.ts +5 -0
- package/dist/components/toolbar/ToolbarDivider.svelte +6 -0
- package/dist/components/toolbar/ToolbarDivider.svelte.d.ts +18 -0
- package/dist/components/toolbar/ToolbarGroup.svelte +18 -0
- package/dist/components/toolbar/ToolbarGroup.svelte.d.ts +5 -0
- package/dist/components/toolbar/ToolbarGroupItem.svelte +27 -0
- package/dist/components/toolbar/ToolbarGroupItem.svelte.d.ts +8 -0
- package/dist/components/toolbar/index.d.ts +7 -0
- package/dist/components/toolbar/index.js +10 -0
- package/dist/components/toolbar/theme.d.ts +106 -0
- package/dist/components/toolbar/theme.js +27 -0
- package/dist/components/toolbar/types.d.ts +20 -0
- package/dist/components/toolbar/types.js +1 -0
- package/dist/components/typography/body/Body.svelte +33 -0
- package/dist/components/typography/body/Body.svelte.d.ts +10 -0
- package/dist/components/typography/body/index.d.ts +3 -0
- package/dist/components/typography/body/index.js +6 -0
- package/dist/components/typography/body/theme.d.ts +30 -0
- package/dist/components/typography/body/theme.js +14 -0
- package/dist/components/typography/body/types.d.ts +21 -0
- package/dist/components/typography/body/types.js +1 -0
- package/dist/components/typography/display/Display.svelte +27 -0
- package/dist/components/typography/display/Display.svelte.d.ts +10 -0
- package/dist/components/typography/display/index.d.ts +3 -0
- package/dist/components/typography/display/index.js +6 -0
- package/dist/components/typography/display/theme.d.ts +30 -0
- package/dist/components/typography/display/theme.js +14 -0
- package/dist/components/typography/display/types.d.ts +21 -0
- package/dist/components/typography/display/types.js +1 -0
- package/dist/components/typography/headline/Headline.svelte +27 -0
- package/dist/components/typography/headline/Headline.svelte.d.ts +10 -0
- package/dist/components/typography/headline/index.d.ts +3 -0
- package/dist/components/typography/headline/index.js +6 -0
- package/dist/components/typography/headline/theme.d.ts +30 -0
- package/dist/components/typography/headline/theme.js +14 -0
- package/dist/components/typography/headline/types.d.ts +21 -0
- package/dist/components/typography/headline/types.js +1 -0
- package/dist/components/typography/index.d.ts +6 -0
- package/dist/components/typography/index.js +8 -0
- package/dist/components/typography/kbd/Kbd.svelte +18 -0
- package/dist/components/typography/kbd/Kbd.svelte.d.ts +5 -0
- package/dist/components/typography/kbd/index.d.ts +3 -0
- package/dist/components/typography/kbd/index.js +6 -0
- package/dist/components/typography/kbd/theme.d.ts +18 -0
- package/dist/components/typography/kbd/theme.js +10 -0
- package/dist/components/typography/kbd/types.d.ts +17 -0
- package/dist/components/typography/kbd/types.js +1 -0
- package/dist/components/typography/label/Label.svelte +25 -0
- package/dist/components/typography/label/Label.svelte.d.ts +10 -0
- package/dist/components/typography/label/index.d.ts +3 -0
- package/dist/components/typography/label/index.js +6 -0
- package/dist/components/typography/label/theme.d.ts +28 -0
- package/dist/components/typography/label/theme.js +14 -0
- package/dist/components/typography/label/types.d.ts +23 -0
- package/dist/components/typography/label/types.js +1 -0
- package/dist/components/typography/title/Title.svelte +27 -0
- package/dist/components/typography/title/Title.svelte.d.ts +10 -0
- package/dist/components/typography/title/index.d.ts +3 -0
- package/dist/components/typography/title/index.js +6 -0
- package/dist/components/typography/title/theme.d.ts +30 -0
- package/dist/components/typography/title/theme.js +14 -0
- package/dist/components/typography/title/types.d.ts +21 -0
- package/dist/components/typography/title/types.js +1 -0
- package/dist/index.css +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/styles/component.css +154 -0
- package/dist/styles/elevation.css +45 -0
- package/dist/styles/motion.css +51 -0
- package/dist/styles/prose.css +48 -0
- package/dist/styles/rounding.css +11 -0
- package/dist/styles/theme/dark-hc.css +53 -0
- package/dist/styles/theme/dark-mc.css +53 -0
- package/dist/styles/theme/dark.css +51 -0
- package/dist/styles/theme/light-hc.css +53 -0
- package/dist/styles/theme/light-mc.css +53 -0
- package/dist/styles/theme/light.css +51 -0
- package/dist/styles/typescale.css +63 -0
- package/dist/utils/Layer.svelte +217 -0
- package/dist/utils/Layer.svelte.d.ts +3 -0
- package/dist/utils/Theme.svelte +90 -0
- package/dist/utils/icon/Icon.svelte +24 -0
- package/dist/utils/icon/Icon.svelte.d.ts +4 -0
- package/dist/utils/icon/LoadingIndicator.svelte +39 -0
- package/dist/utils/icon/LoadingIndicator.svelte.d.ts +4 -0
- package/dist/utils/icon/MaterialSymbolsProvider.svelte +38 -0
- package/dist/utils/icon/MaterialSymbolsProvider.svelte.d.ts +8 -0
- package/dist/utils/icon/base-icons.d.ts +1 -0
- package/dist/utils/icon/base-icons.js +29 -0
- package/dist/utils/icon/index.d.ts +6 -0
- package/dist/utils/icon/index.js +6 -0
- package/dist/utils/icon/theme.d.ts +30 -0
- package/dist/utils/icon/theme.js +14 -0
- package/dist/utils/icon/types.d.ts +23 -0
- package/dist/utils/icon/types.js +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/theme.svelte.d.ts +24 -0
- package/dist/utils/theme.svelte.js +156 -0
- package/dist/utils/tutorial.d.ts +9 -0
- package/dist/utils/tutorial.js +46 -0
- package/dist/utils/types.d.ts +18 -0
- package/dist/utils/types.js +5 -0
- package/dist/utils/ui.d.ts +6 -0
- package/dist/utils/ui.js +56 -0
- package/package.json +85 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
export type AppbarVariants = VariantProps<typeof appbar>;
|
|
3
|
+
export declare const appbar: import("tailwind-variants").TVReturnType<{
|
|
4
|
+
scrolled: {
|
|
5
|
+
true: {
|
|
6
|
+
base: string;
|
|
7
|
+
};
|
|
8
|
+
false: {
|
|
9
|
+
base: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
searchContainer: {
|
|
13
|
+
true: string;
|
|
14
|
+
false: string;
|
|
15
|
+
};
|
|
16
|
+
noTrailing: {
|
|
17
|
+
true: {
|
|
18
|
+
textContainer: string;
|
|
19
|
+
};
|
|
20
|
+
false: string;
|
|
21
|
+
};
|
|
22
|
+
noLeading: {
|
|
23
|
+
true: {
|
|
24
|
+
textContainer: string;
|
|
25
|
+
};
|
|
26
|
+
false: string;
|
|
27
|
+
};
|
|
28
|
+
}, {
|
|
29
|
+
base: string;
|
|
30
|
+
textContainer: string;
|
|
31
|
+
title: string;
|
|
32
|
+
subtitle: string;
|
|
33
|
+
leading: string;
|
|
34
|
+
trailing: string;
|
|
35
|
+
}, undefined, {
|
|
36
|
+
scrolled: {
|
|
37
|
+
true: {
|
|
38
|
+
base: string;
|
|
39
|
+
};
|
|
40
|
+
false: {
|
|
41
|
+
base: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
searchContainer: {
|
|
45
|
+
true: string;
|
|
46
|
+
false: string;
|
|
47
|
+
};
|
|
48
|
+
noTrailing: {
|
|
49
|
+
true: {
|
|
50
|
+
textContainer: string;
|
|
51
|
+
};
|
|
52
|
+
false: string;
|
|
53
|
+
};
|
|
54
|
+
noLeading: {
|
|
55
|
+
true: {
|
|
56
|
+
textContainer: string;
|
|
57
|
+
};
|
|
58
|
+
false: string;
|
|
59
|
+
};
|
|
60
|
+
}, {
|
|
61
|
+
base: string;
|
|
62
|
+
textContainer: string;
|
|
63
|
+
title: string;
|
|
64
|
+
subtitle: string;
|
|
65
|
+
leading: string;
|
|
66
|
+
trailing: string;
|
|
67
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
68
|
+
scrolled: {
|
|
69
|
+
true: {
|
|
70
|
+
base: string;
|
|
71
|
+
};
|
|
72
|
+
false: {
|
|
73
|
+
base: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
searchContainer: {
|
|
77
|
+
true: string;
|
|
78
|
+
false: string;
|
|
79
|
+
};
|
|
80
|
+
noTrailing: {
|
|
81
|
+
true: {
|
|
82
|
+
textContainer: string;
|
|
83
|
+
};
|
|
84
|
+
false: string;
|
|
85
|
+
};
|
|
86
|
+
noLeading: {
|
|
87
|
+
true: {
|
|
88
|
+
textContainer: string;
|
|
89
|
+
};
|
|
90
|
+
false: string;
|
|
91
|
+
};
|
|
92
|
+
}, {
|
|
93
|
+
base: string;
|
|
94
|
+
textContainer: string;
|
|
95
|
+
title: string;
|
|
96
|
+
subtitle: string;
|
|
97
|
+
leading: string;
|
|
98
|
+
trailing: string;
|
|
99
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const appbar = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
base: 'py-1 fixed top-0 left-0 w-full md:hidden flex z-40 items-center justify-between',
|
|
5
|
+
textContainer: 'flex flex-col items-start gap-0.5 grow',
|
|
6
|
+
title: 'text-md-sys-color-on-surface md-sys-typescale-title-large line-clamp-1 capitalize ',
|
|
7
|
+
subtitle: 'text-md-sys-color-on-surface-variant md-sys-typescale-label-medium',
|
|
8
|
+
leading: 'text-md-sys-color-on-surface ml-0.5',
|
|
9
|
+
trailing: 'text-md-sys-color-on-surface-variant mr-4'
|
|
10
|
+
},
|
|
11
|
+
variants: {
|
|
12
|
+
scrolled: {
|
|
13
|
+
true: { base: 'shadow-elevation-2 bg-md-sys-color-surface-container' },
|
|
14
|
+
false: { base: 'shadow-elevation-0 bg-md-sys-color-surface' }
|
|
15
|
+
},
|
|
16
|
+
searchContainer: {
|
|
17
|
+
true: '',
|
|
18
|
+
false: ''
|
|
19
|
+
},
|
|
20
|
+
noTrailing: {
|
|
21
|
+
true: {
|
|
22
|
+
textContainer: 'pr-2'
|
|
23
|
+
},
|
|
24
|
+
false: ''
|
|
25
|
+
},
|
|
26
|
+
noLeading: {
|
|
27
|
+
true: {
|
|
28
|
+
textContainer: 'pl-6'
|
|
29
|
+
},
|
|
30
|
+
false: ''
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import type { AppbarVariants } from './theme.js';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the AppBar component.
|
|
6
|
+
*/
|
|
7
|
+
export type AppBarProps = AppbarVariants & HTMLAttributes<HTMLElementTagNameMap['nav']> & {
|
|
8
|
+
/** The content to be rendered inside the app bar. */
|
|
9
|
+
children?: Snippet;
|
|
10
|
+
/** The main title of the app bar. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** An optional subtitle displayed below the title. */
|
|
13
|
+
subtitle?: string;
|
|
14
|
+
/** A snippet to be rendered on the left side (e.g., navigation icon). */
|
|
15
|
+
leading?: Snippet;
|
|
16
|
+
/** A snippet to be rendered on the right side (e.g., action icons). */
|
|
17
|
+
trailing?: Snippet;
|
|
18
|
+
/** Whether to show a back button in the leading section. */
|
|
19
|
+
showBack?: boolean;
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// THIS FILE IS AUTO-GENERATED BY scripts/generate-components-index.ts - DO NOT EDIT MANUALLY
|
|
2
|
+
// folder re-exports (export everything from these folders)
|
|
3
|
+
export * from './appbar/index.js';
|
|
4
|
+
export * from './navbar/index.js';
|
|
5
|
+
export * from './rail/index.js';
|
|
6
|
+
export * from './tabs/index.js';
|
|
7
|
+
// re-export TS/JS modules from this folder
|
|
8
|
+
export * from './types.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
Material 3 Navigation Bar.
|
|
4
|
+
|
|
5
|
+
Navigation bars offer a convenient way to switch between primary destinations in an app.
|
|
6
|
+
They are typically used at the bottom of the screen for ergonomics and easy reach on mobile devices.
|
|
7
|
+
|
|
8
|
+
This component takes NavbarItems as its children
|
|
9
|
+
|
|
10
|
+
@see https://m3.material.io/components/navigation-bar/overview
|
|
11
|
+
-->
|
|
12
|
+
<script lang="ts">
|
|
13
|
+
import type { Snippet } from 'svelte';
|
|
14
|
+
import { navbar } from './theme.js';
|
|
15
|
+
import { NavigationMenu } from 'bits-ui';
|
|
16
|
+
|
|
17
|
+
const { children, fab }: { children: Snippet; fab?: Snippet } = $props();
|
|
18
|
+
|
|
19
|
+
const { base, items, fab: fabCls } = $derived(navbar());
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<div class={base()}>
|
|
23
|
+
{#if fab}
|
|
24
|
+
<div class={fabCls()}>
|
|
25
|
+
{@render fab?.()}
|
|
26
|
+
</div>
|
|
27
|
+
{/if}
|
|
28
|
+
<NavigationMenu.Root orientation="horizontal" class="flex w-full">
|
|
29
|
+
<NavigationMenu.List class={items()}>
|
|
30
|
+
{@render children()}
|
|
31
|
+
</NavigationMenu.List>
|
|
32
|
+
</NavigationMenu.Root>
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
children: Snippet;
|
|
4
|
+
fab?: Snippet;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Material 3 Navigation Bar.
|
|
8
|
+
*
|
|
9
|
+
* Navigation bars offer a convenient way to switch between primary destinations in an app.
|
|
10
|
+
* They are typically used at the bottom of the screen for ergonomics and easy reach on mobile devices.
|
|
11
|
+
*
|
|
12
|
+
* This component takes NavbarItems as its children
|
|
13
|
+
*
|
|
14
|
+
* @see https://m3.material.io/components/navigation-bar/overview
|
|
15
|
+
*/
|
|
16
|
+
declare const Navbar: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
17
|
+
type Navbar = ReturnType<typeof Navbar>;
|
|
18
|
+
export default Navbar;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
Material 3 Navigation Bar Item.
|
|
4
|
+
|
|
5
|
+
A single destination within a navigation bar.
|
|
6
|
+
-->
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import { page } from '$app/state';
|
|
9
|
+
import type { NavItemProps } from './types.js';
|
|
10
|
+
import { navitem } from './theme.js';
|
|
11
|
+
import { Icon, Layer } from '../../../utils/index.js';
|
|
12
|
+
import Badge from '../../badge/Badge.svelte';
|
|
13
|
+
import { NavigationMenu } from 'bits-ui';
|
|
14
|
+
import clsx from 'clsx';
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
href = '/',
|
|
18
|
+
label,
|
|
19
|
+
badge = 0,
|
|
20
|
+
class: className,
|
|
21
|
+
iconProps,
|
|
22
|
+
...rest
|
|
23
|
+
}: NavItemProps = $props();
|
|
24
|
+
|
|
25
|
+
const isActive = $derived(
|
|
26
|
+
page.url.pathname === href ||
|
|
27
|
+
(href !== '/' && page.url.href.startsWith(href)) ||
|
|
28
|
+
page.url.href == href
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
base,
|
|
33
|
+
content,
|
|
34
|
+
icon,
|
|
35
|
+
iconContainer,
|
|
36
|
+
label: labelClass
|
|
37
|
+
} = $derived(navitem({ active: isActive }));
|
|
38
|
+
|
|
39
|
+
const rootClass = $derived(base({ class: clsx(className) }));
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<NavigationMenu.Item class="flex h-full flex-1 justify-center">
|
|
43
|
+
<NavigationMenu.Link active={isActive} {href}>
|
|
44
|
+
{#snippet child({ props })}
|
|
45
|
+
<a {...props} {...rest} class={rootClass}>
|
|
46
|
+
<div class={content()}>
|
|
47
|
+
<div class={iconContainer()}>
|
|
48
|
+
<Layer />
|
|
49
|
+
<Icon
|
|
50
|
+
{...iconProps}
|
|
51
|
+
class={icon()}
|
|
52
|
+
wght={isActive ? 600 : 400}
|
|
53
|
+
fill={isActive ? 1 : 0}
|
|
54
|
+
/>
|
|
55
|
+
{#if badge}
|
|
56
|
+
<Badge size={badge === -1 ? 'sm' : 'lg'} number={badge}></Badge>
|
|
57
|
+
{/if}
|
|
58
|
+
</div>
|
|
59
|
+
<span class={labelClass()}>
|
|
60
|
+
{label}
|
|
61
|
+
</span>
|
|
62
|
+
</div>
|
|
63
|
+
</a>
|
|
64
|
+
{/snippet}
|
|
65
|
+
</NavigationMenu.Link>
|
|
66
|
+
</NavigationMenu.Item>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NavItemProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Material 3 Navigation Bar Item.
|
|
4
|
+
*
|
|
5
|
+
* A single destination within a navigation bar.
|
|
6
|
+
*/
|
|
7
|
+
declare const NavbarItem: import("svelte").Component<NavItemProps, {}, "">;
|
|
8
|
+
type NavbarItem = ReturnType<typeof NavbarItem>;
|
|
9
|
+
export default NavbarItem;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// THIS FILE IS AUTO-GENERATED BY scripts/generate-components-index.ts - DO NOT EDIT MANUALLY
|
|
2
|
+
// re-export TS/JS modules from this folder
|
|
3
|
+
export * from './theme.js';
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
// default exports for components in this folder
|
|
6
|
+
export { default as Navbar } from './Navbar.svelte';
|
|
7
|
+
export { default as NavbarItem } from './NavbarItem.svelte';
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export declare const navbar: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
[key: string]: {
|
|
3
|
+
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
4
|
+
base?: import("tailwind-merge").ClassNameValue;
|
|
5
|
+
items?: import("tailwind-merge").ClassNameValue;
|
|
6
|
+
fab?: import("tailwind-merge").ClassNameValue;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
} | {
|
|
10
|
+
[x: string]: {
|
|
11
|
+
[x: string]: import("tailwind-merge").ClassNameValue | {
|
|
12
|
+
base?: import("tailwind-merge").ClassNameValue;
|
|
13
|
+
items?: import("tailwind-merge").ClassNameValue;
|
|
14
|
+
fab?: import("tailwind-merge").ClassNameValue;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
} | {}, {
|
|
18
|
+
base: string;
|
|
19
|
+
items: string;
|
|
20
|
+
fab: string;
|
|
21
|
+
}, undefined, {
|
|
22
|
+
[key: string]: {
|
|
23
|
+
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
24
|
+
base?: import("tailwind-merge").ClassNameValue;
|
|
25
|
+
items?: import("tailwind-merge").ClassNameValue;
|
|
26
|
+
fab?: import("tailwind-merge").ClassNameValue;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
} | {}, {
|
|
30
|
+
base: string;
|
|
31
|
+
items: string;
|
|
32
|
+
fab: string;
|
|
33
|
+
}, import("tailwind-variants").TVReturnType<unknown, {
|
|
34
|
+
base: string;
|
|
35
|
+
items: string;
|
|
36
|
+
fab: string;
|
|
37
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
38
|
+
export declare const navitem: import("tailwind-variants").TVReturnType<{
|
|
39
|
+
active: {
|
|
40
|
+
true: {
|
|
41
|
+
content: string;
|
|
42
|
+
label: string;
|
|
43
|
+
iconContainer: string;
|
|
44
|
+
};
|
|
45
|
+
false: {
|
|
46
|
+
content: string;
|
|
47
|
+
label: string;
|
|
48
|
+
iconContainer: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
}, {
|
|
52
|
+
base: string;
|
|
53
|
+
content: string;
|
|
54
|
+
iconContainer: string;
|
|
55
|
+
icon: string;
|
|
56
|
+
label: string;
|
|
57
|
+
}, undefined, {
|
|
58
|
+
active: {
|
|
59
|
+
true: {
|
|
60
|
+
content: string;
|
|
61
|
+
label: string;
|
|
62
|
+
iconContainer: string;
|
|
63
|
+
};
|
|
64
|
+
false: {
|
|
65
|
+
content: string;
|
|
66
|
+
label: string;
|
|
67
|
+
iconContainer: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
}, {
|
|
71
|
+
base: string;
|
|
72
|
+
content: string;
|
|
73
|
+
iconContainer: string;
|
|
74
|
+
icon: string;
|
|
75
|
+
label: string;
|
|
76
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
77
|
+
active: {
|
|
78
|
+
true: {
|
|
79
|
+
content: string;
|
|
80
|
+
label: string;
|
|
81
|
+
iconContainer: string;
|
|
82
|
+
};
|
|
83
|
+
false: {
|
|
84
|
+
content: string;
|
|
85
|
+
label: string;
|
|
86
|
+
iconContainer: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
}, {
|
|
90
|
+
base: string;
|
|
91
|
+
content: string;
|
|
92
|
+
iconContainer: string;
|
|
93
|
+
icon: string;
|
|
94
|
+
label: string;
|
|
95
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const navbar = tv({
|
|
3
|
+
slots: {
|
|
4
|
+
base: 'shadow-elevation-2 bg-md-sys-color-surface-container relative z-20 flex h-20 fixed bottom-0 w-full left-0 justify-around py-3 md:hidden',
|
|
5
|
+
items: 'flex justify-around w-full',
|
|
6
|
+
fab: 'bottom-24 right-4 absolute'
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export const navitem = tv({
|
|
10
|
+
slots: {
|
|
11
|
+
base: 'group relative flex flex-1 flex-col items-center justify-center min-w-0 max-w-[168px] h-full transition-colors',
|
|
12
|
+
content: 'flex flex-col items-center justify-center gap-1 w-full',
|
|
13
|
+
iconContainer: 'relative flex items-center justify-center h-8 w-16 rounded-full transition-colors duration-200 ease-in-out',
|
|
14
|
+
icon: 'text-[24px]',
|
|
15
|
+
label: 'md-sys-typescale-label-medium truncate w-full text-center'
|
|
16
|
+
},
|
|
17
|
+
variants: {
|
|
18
|
+
active: {
|
|
19
|
+
true: {
|
|
20
|
+
content: 'text-md-sys-color-on-secondary-container',
|
|
21
|
+
label: 'font-bold text-md-sys-color-on-surface',
|
|
22
|
+
iconContainer: 'bg-md-sys-color-secondary-container'
|
|
23
|
+
},
|
|
24
|
+
false: {
|
|
25
|
+
content: 'text-md-sys-color-on-surface-variant',
|
|
26
|
+
label: 'text-md-sys-color-on-surface-variant',
|
|
27
|
+
iconContainer: 'group-hover:bg-md-sys-color-surface-variant/10'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IconProps } from '../../../utils/index.js';
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
import type { VariantProps } from 'tailwind-variants';
|
|
5
|
+
import type { navbar, navitem } from './theme.js';
|
|
6
|
+
export type NavItemVariants = VariantProps<typeof navitem>;
|
|
7
|
+
export type NavBarVariants = VariantProps<typeof navbar>;
|
|
8
|
+
/**
|
|
9
|
+
* Props for the NavbarItem component.
|
|
10
|
+
*/
|
|
11
|
+
export type NavItemProps = NavItemVariants & HTMLAttributes<HTMLAnchorElement> & {
|
|
12
|
+
/** The text label for the item. */
|
|
13
|
+
label: string;
|
|
14
|
+
/** An optional numeric badge to display on the icon. Use -1 for a small dot. */
|
|
15
|
+
badge?: number;
|
|
16
|
+
/** The URL this item points to. */
|
|
17
|
+
href: string;
|
|
18
|
+
/** Props passed to the Icon component. */
|
|
19
|
+
iconProps: IconProps;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Props for the Navbar component.
|
|
23
|
+
*/
|
|
24
|
+
export type NavBarProps = NavBarVariants & HTMLAttributes<HTMLDivElement> & {
|
|
25
|
+
/** The navigation items. */
|
|
26
|
+
children: Snippet;
|
|
27
|
+
/** An optional Floating Action Button snippet. */
|
|
28
|
+
fab?: Snippet;
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
Material 3 Navigation Rail.
|
|
4
|
+
|
|
5
|
+
Navigation rails provide access to primary destinations in apps when using tablet and desktop screens.
|
|
6
|
+
|
|
7
|
+
@see https://m3.material.io/components/navigation-rail/overview
|
|
8
|
+
-->
|
|
9
|
+
<script lang="ts">
|
|
10
|
+
import { clickOutside } from '../../../actions/index.js';
|
|
11
|
+
import clsx from 'clsx';
|
|
12
|
+
import type { RailProps } from './types';
|
|
13
|
+
import ButtonIcon from '../../buttons/ButtonIcon.svelte';
|
|
14
|
+
import { rail } from './theme';
|
|
15
|
+
import { NavigationMenu } from 'bits-ui';
|
|
16
|
+
|
|
17
|
+
let {
|
|
18
|
+
children,
|
|
19
|
+
rounded = false,
|
|
20
|
+
expandable = true,
|
|
21
|
+
fab,
|
|
22
|
+
collapsed = $bindable(true),
|
|
23
|
+
anchor = 'viewport',
|
|
24
|
+
railTop = 0,
|
|
25
|
+
class: className
|
|
26
|
+
}: RailProps = $props();
|
|
27
|
+
|
|
28
|
+
const expanded = $derived(!collapsed);
|
|
29
|
+
const { base, items, ghost, scrim } = $derived(rail({ expanded, anchor, rounded }));
|
|
30
|
+
const railBaseClass = $derived(`${base({ class: clsx(className) })} rail-base`);
|
|
31
|
+
const toggleClass = $derived(collapsed ? 'cursor-e-resize' : 'cursor-w-resize');
|
|
32
|
+
const cssVars = $derived(`--rail-top: ${railTop}px;`);
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<div class={ghost()}></div>
|
|
36
|
+
|
|
37
|
+
<div class={`${scrim()} rail-scrim`} data-expanded={expanded}></div>
|
|
38
|
+
<div
|
|
39
|
+
class={railBaseClass}
|
|
40
|
+
style={cssVars}
|
|
41
|
+
data-expanded={expanded}
|
|
42
|
+
use:clickOutside={() => {
|
|
43
|
+
if (expanded) collapsed = true;
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
{#if expandable}
|
|
47
|
+
<ButtonIcon
|
|
48
|
+
type="button"
|
|
49
|
+
tooltipContent={collapsed ? 'Открыть' : 'Закрыть'}
|
|
50
|
+
iconProps={{ name: `${collapsed ? 'menu' : 'menu_open'}` }}
|
|
51
|
+
class={toggleClass}
|
|
52
|
+
onclick={() => (collapsed = !collapsed)}
|
|
53
|
+
/>
|
|
54
|
+
{/if}
|
|
55
|
+
|
|
56
|
+
{@render fab?.()}
|
|
57
|
+
|
|
58
|
+
<NavigationMenu.Root orientation="vertical" class="w-full">
|
|
59
|
+
<NavigationMenu.List class={`${items()} rail-items`}>
|
|
60
|
+
{@render children?.()}
|
|
61
|
+
</NavigationMenu.List>
|
|
62
|
+
</NavigationMenu.Root>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<style>
|
|
66
|
+
.rail-scrim {
|
|
67
|
+
opacity: 0;
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.rail-scrim[data-expanded='true'] {
|
|
72
|
+
opacity: 1;
|
|
73
|
+
pointer-events: auto;
|
|
74
|
+
}
|
|
75
|
+
</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RailProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Material 3 Navigation Rail.
|
|
4
|
+
*
|
|
5
|
+
* Navigation rails provide access to primary destinations in apps when using tablet and desktop screens.
|
|
6
|
+
*
|
|
7
|
+
* @see https://m3.material.io/components/navigation-rail/overview
|
|
8
|
+
*/
|
|
9
|
+
declare const Rail: import("svelte").Component<RailProps, {}, "collapsed">;
|
|
10
|
+
type Rail = ReturnType<typeof Rail>;
|
|
11
|
+
export default Rail;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
Material 3 Navigation Rail Item.
|
|
4
|
+
|
|
5
|
+
A single destination within a navigation rail.
|
|
6
|
+
-->
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
import { page } from '$app/state';
|
|
9
|
+
import type { RailItemProps } from './types.js';
|
|
10
|
+
import { railElement } from './theme.js';
|
|
11
|
+
import { Icon, Layer } from '../../../utils/index.js';
|
|
12
|
+
import Badge from '../../badge/Badge.svelte';
|
|
13
|
+
import { NavigationMenu } from 'bits-ui';
|
|
14
|
+
|
|
15
|
+
let {
|
|
16
|
+
href = '/',
|
|
17
|
+
name,
|
|
18
|
+
external = false,
|
|
19
|
+
badge = 0,
|
|
20
|
+
class: className,
|
|
21
|
+
selected,
|
|
22
|
+
disabled,
|
|
23
|
+
collapsed = true,
|
|
24
|
+
iconProps,
|
|
25
|
+
...rest
|
|
26
|
+
}: RailItemProps = $props();
|
|
27
|
+
|
|
28
|
+
const isDisabled = $derived(!!disabled);
|
|
29
|
+
const target = $derived(!isDisabled && external ? '_blank' : undefined);
|
|
30
|
+
const rel = $derived(!isDisabled && external ? 'noopener noreferrer' : undefined);
|
|
31
|
+
const hrefValue = $derived(isDisabled ? undefined : href);
|
|
32
|
+
const ariaDisabled = $derived(isDisabled ? true : undefined);
|
|
33
|
+
const tabIndex = $derived(isDisabled ? -1 : undefined);
|
|
34
|
+
const hrefPathname = $derived.by(() => {
|
|
35
|
+
try {
|
|
36
|
+
return new URL(href).pathname;
|
|
37
|
+
} catch {
|
|
38
|
+
return href;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const isActive = $derived(
|
|
42
|
+
selected ||
|
|
43
|
+
page.url.pathname === hrefPathname ||
|
|
44
|
+
(hrefPathname !== '/' && page.url.pathname.startsWith(hrefPathname + '/'))
|
|
45
|
+
);
|
|
46
|
+
const {
|
|
47
|
+
base,
|
|
48
|
+
content,
|
|
49
|
+
icon,
|
|
50
|
+
iconContainer,
|
|
51
|
+
label: labelClass
|
|
52
|
+
} = $derived(
|
|
53
|
+
railElement({
|
|
54
|
+
active: isActive,
|
|
55
|
+
expanded: !collapsed,
|
|
56
|
+
disabled: isDisabled
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
const rootClass = $derived([base(), className].filter(Boolean).join(' '));
|
|
60
|
+
|
|
61
|
+
function handleClick(event: MouseEvent) {
|
|
62
|
+
if (isDisabled) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
event.stopPropagation();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<NavigationMenu.Item
|
|
70
|
+
class={['flex w-full items-center', collapsed && 'justify-center'].filter(Boolean).join(' ')}
|
|
71
|
+
>
|
|
72
|
+
<NavigationMenu.Link active={isActive} href={hrefValue}>
|
|
73
|
+
{#snippet child({ props })}
|
|
74
|
+
<a
|
|
75
|
+
{...props}
|
|
76
|
+
{...rest}
|
|
77
|
+
{target}
|
|
78
|
+
{rel}
|
|
79
|
+
aria-disabled={ariaDisabled}
|
|
80
|
+
tabindex={tabIndex}
|
|
81
|
+
onclick={handleClick}
|
|
82
|
+
class={rootClass}
|
|
83
|
+
>
|
|
84
|
+
<div class={content()}>
|
|
85
|
+
<div class={iconContainer()}>
|
|
86
|
+
<Layer />
|
|
87
|
+
<Icon
|
|
88
|
+
{...iconProps}
|
|
89
|
+
class={icon()}
|
|
90
|
+
wght={isActive ? 600 : 400}
|
|
91
|
+
fill={isActive ? 1 : 0}
|
|
92
|
+
/>
|
|
93
|
+
{#if badge}
|
|
94
|
+
<Badge size={badge === -1 ? 'sm' : 'lg'} number={badge}></Badge>
|
|
95
|
+
{/if}
|
|
96
|
+
</div>
|
|
97
|
+
<p class={labelClass()}>
|
|
98
|
+
{name}
|
|
99
|
+
</p>
|
|
100
|
+
</div>
|
|
101
|
+
</a>
|
|
102
|
+
{/snippet}
|
|
103
|
+
</NavigationMenu.Link>
|
|
104
|
+
</NavigationMenu.Item>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RailItemProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Material 3 Navigation Rail Item.
|
|
4
|
+
*
|
|
5
|
+
* A single destination within a navigation rail.
|
|
6
|
+
*/
|
|
7
|
+
declare const RailItem: import("svelte").Component<RailItemProps, {}, "">;
|
|
8
|
+
type RailItem = ReturnType<typeof RailItem>;
|
|
9
|
+
export default RailItem;
|