@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,63 @@
|
|
|
1
|
+
@utility md-sys-typescale-display-large {
|
|
2
|
+
@apply text-[57px] leading-[64px] tracking-[-0.25px];
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@utility md-sys-typescale-display-medium {
|
|
6
|
+
@apply text-[45px] leading-[52px];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@utility md-sys-typescale-display-small {
|
|
10
|
+
@apply text-[36px] leading-[44px];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@utility md-sys-typescale-headline-large {
|
|
14
|
+
@apply text-[32px] leading-[40px];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@utility md-sys-typescale-headline-medium {
|
|
18
|
+
@apply text-[28px] leading-[36px];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@utility md-sys-typescale-headline-small {
|
|
22
|
+
@apply text-[24px] leading-[32px];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@utility md-sys-typescale-title-large {
|
|
26
|
+
@apply text-[22px] leading-[28px];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@utility md-sys-typescale-title-medium {
|
|
30
|
+
@apply text-[16px] leading-[24px] font-medium tracking-[0.15px];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@utility md-sys-typescale-title-small {
|
|
34
|
+
@apply text-[14px] leading-[20px] font-medium tracking-[0.1px];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@utility md-sys-typescale-label-large {
|
|
38
|
+
@apply text-[14px] leading-[20px] font-medium tracking-[0.1px];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@utility md-sys-typescale-label-medium {
|
|
42
|
+
@apply text-[12px] leading-[16px] font-medium tracking-[0.5px];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@utility md-sys-typescale-label-small {
|
|
46
|
+
@apply text-[11px] leading-[16px] font-medium tracking-[0.5px];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@utility md-sys-typescale-body-large {
|
|
50
|
+
@apply text-[16px] leading-[24px] tracking-[0.5px];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@utility md-sys-typescale-body-medium {
|
|
54
|
+
@apply text-[14px] leading-[20px] tracking-[0.25px];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@utility md-sys-typescale-body-small {
|
|
58
|
+
@apply text-[12px] leading-[16px] tracking-[0.4px];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@utility md-sys-typescale-fab-label {
|
|
62
|
+
@apply text-[16px] leading-8 tracking-[0.15px];
|
|
63
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
let initialized = false;
|
|
3
|
+
|
|
4
|
+
const activePointerRipples: (() => void)[] = [];
|
|
5
|
+
const activeKeyboardRipples: (() => void)[] = [];
|
|
6
|
+
|
|
7
|
+
const isEnabled = (node: Element): boolean => {
|
|
8
|
+
if (node instanceof HTMLButtonElement && node.disabled) return false;
|
|
9
|
+
if (node instanceof HTMLInputElement && node.disabled) return false;
|
|
10
|
+
if (node instanceof HTMLLabelElement) {
|
|
11
|
+
const control = node.control;
|
|
12
|
+
if (control instanceof HTMLInputElement && control.disabled) return false;
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const createRippleSvg = (
|
|
18
|
+
node: Element,
|
|
19
|
+
x: number,
|
|
20
|
+
y: number,
|
|
21
|
+
width: number,
|
|
22
|
+
height: number
|
|
23
|
+
): (() => void) | null => {
|
|
24
|
+
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return null;
|
|
25
|
+
|
|
26
|
+
const size = Math.hypot(Math.max(x, width - x), Math.max(y, height - y)) * 2.5;
|
|
27
|
+
const speed = Math.max(Math.min(Math.log(size) * 50, 600), 200);
|
|
28
|
+
|
|
29
|
+
const gradient = document.createElementNS('http://www.w3.org/2000/svg', 'radialGradient');
|
|
30
|
+
gradient.id = `ripple-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
31
|
+
|
|
32
|
+
for (const { offset, opacity } of [
|
|
33
|
+
{ offset: '0%', opacity: '0.12' },
|
|
34
|
+
{ offset: '70%', opacity: '0.12' },
|
|
35
|
+
{ offset: '100%', opacity: '0' }
|
|
36
|
+
]) {
|
|
37
|
+
const stop = document.createElementNS('http://www.w3.org/2000/svg', 'stop');
|
|
38
|
+
stop.setAttribute('offset', offset);
|
|
39
|
+
stop.setAttribute('stop-color', 'currentColor');
|
|
40
|
+
stop.setAttribute('stop-opacity', opacity);
|
|
41
|
+
gradient.appendChild(stop);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
|
|
45
|
+
circle.setAttribute('cx', `${x}`);
|
|
46
|
+
circle.setAttribute('cy', `${y}`);
|
|
47
|
+
circle.setAttribute('r', '0');
|
|
48
|
+
circle.setAttribute('fill', `url(#${gradient.id})`);
|
|
49
|
+
|
|
50
|
+
const expand = document.createElementNS('http://www.w3.org/2000/svg', 'animate');
|
|
51
|
+
expand.setAttribute('attributeName', 'r');
|
|
52
|
+
expand.setAttribute('from', '0');
|
|
53
|
+
expand.setAttribute('to', `${size / 2}`);
|
|
54
|
+
expand.setAttribute('dur', `${speed}ms`);
|
|
55
|
+
expand.setAttribute('fill', 'freeze');
|
|
56
|
+
expand.setAttribute('calcMode', 'spline');
|
|
57
|
+
expand.setAttribute('keySplines', '0.4 0, 0.2 1');
|
|
58
|
+
circle.appendChild(expand);
|
|
59
|
+
|
|
60
|
+
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
61
|
+
svg.classList.add('m3-ripple');
|
|
62
|
+
svg.style.cssText = [
|
|
63
|
+
'position: absolute',
|
|
64
|
+
'inset: 0',
|
|
65
|
+
'width: 100%',
|
|
66
|
+
'height: 100%',
|
|
67
|
+
'overflow: hidden',
|
|
68
|
+
'border-radius: inherit',
|
|
69
|
+
'pointer-events: none'
|
|
70
|
+
].join(';');
|
|
71
|
+
svg.appendChild(gradient);
|
|
72
|
+
svg.appendChild(circle);
|
|
73
|
+
|
|
74
|
+
const ua = navigator.userAgent;
|
|
75
|
+
const isFirefox = ua.includes('Firefox');
|
|
76
|
+
const isTrulySafari = !ua.includes('Chrome') && ua.includes('Safari');
|
|
77
|
+
if (!isFirefox && !isTrulySafari && size > 100) {
|
|
78
|
+
const filter = document.createElementNS('http://www.w3.org/2000/svg', 'filter');
|
|
79
|
+
filter.id = `noise-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
80
|
+
|
|
81
|
+
const turb = document.createElementNS('http://www.w3.org/2000/svg', 'feTurbulence');
|
|
82
|
+
turb.setAttribute('type', 'fractalNoise');
|
|
83
|
+
turb.setAttribute('baseFrequency', '0.6');
|
|
84
|
+
turb.setAttribute('seed', Math.random().toString());
|
|
85
|
+
|
|
86
|
+
const disp = document.createElementNS('http://www.w3.org/2000/svg', 'feDisplacementMap');
|
|
87
|
+
disp.setAttribute('in', 'SourceGraphic');
|
|
88
|
+
disp.setAttribute('scale', `${size ** 2 * 0.0002}`);
|
|
89
|
+
disp.setAttribute('xChannelSelector', 'R');
|
|
90
|
+
disp.setAttribute('yChannelSelector', 'B');
|
|
91
|
+
|
|
92
|
+
filter.appendChild(turb);
|
|
93
|
+
filter.appendChild(disp);
|
|
94
|
+
circle.setAttribute('filter', `url(#${filter.id})`);
|
|
95
|
+
svg.appendChild(filter);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
node.appendChild(svg);
|
|
99
|
+
|
|
100
|
+
return () => {
|
|
101
|
+
const fade = document.createElementNS('http://www.w3.org/2000/svg', 'animate');
|
|
102
|
+
fade.setAttribute('attributeName', 'opacity');
|
|
103
|
+
fade.setAttribute('from', '1');
|
|
104
|
+
fade.setAttribute('to', '0');
|
|
105
|
+
fade.setAttribute('dur', '800ms');
|
|
106
|
+
fade.setAttribute('fill', 'freeze');
|
|
107
|
+
fade.setAttribute('calcMode', 'spline');
|
|
108
|
+
fade.setAttribute('keySplines', '0.4 0, 0.2 1');
|
|
109
|
+
circle.appendChild(fade);
|
|
110
|
+
fade.beginElement();
|
|
111
|
+
setTimeout(() => svg.remove(), 800);
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
function initRipple() {
|
|
116
|
+
if (initialized || typeof document === 'undefined') return;
|
|
117
|
+
initialized = true;
|
|
118
|
+
|
|
119
|
+
document.documentElement.classList.add('js');
|
|
120
|
+
|
|
121
|
+
document.addEventListener('pointerdown', (e) => {
|
|
122
|
+
if (e.button !== 0) return;
|
|
123
|
+
const layer = (e.target as Element).closest('.m3-layer');
|
|
124
|
+
if (!layer || !isEnabled(layer)) return;
|
|
125
|
+
const rect = layer.getBoundingClientRect();
|
|
126
|
+
const cancel = createRippleSvg(
|
|
127
|
+
layer,
|
|
128
|
+
e.clientX - rect.left,
|
|
129
|
+
e.clientY - rect.top,
|
|
130
|
+
rect.width,
|
|
131
|
+
rect.height
|
|
132
|
+
);
|
|
133
|
+
if (cancel) activePointerRipples.push(cancel);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
const cancelPointerRipples = () => {
|
|
137
|
+
for (const cancel of activePointerRipples) cancel();
|
|
138
|
+
activePointerRipples.length = 0;
|
|
139
|
+
};
|
|
140
|
+
document.addEventListener('pointerup', cancelPointerRipples);
|
|
141
|
+
document.addEventListener('dragend', cancelPointerRipples);
|
|
142
|
+
|
|
143
|
+
document.addEventListener('keydown', (e) => {
|
|
144
|
+
if (e.repeat) return;
|
|
145
|
+
const target = e.target as Element;
|
|
146
|
+
const layer = target.closest('.m3-layer');
|
|
147
|
+
if (!layer || !isEnabled(layer)) return;
|
|
148
|
+
const isActivate = e.key === 'Enter' || (e.key === ' ' && layer.tagName === 'BUTTON');
|
|
149
|
+
if (!isActivate) return;
|
|
150
|
+
const rect = layer.getBoundingClientRect();
|
|
151
|
+
const cancel = createRippleSvg(
|
|
152
|
+
layer,
|
|
153
|
+
rect.width / 2,
|
|
154
|
+
rect.height / 2,
|
|
155
|
+
rect.width,
|
|
156
|
+
rect.height
|
|
157
|
+
);
|
|
158
|
+
if (cancel) activeKeyboardRipples.push(cancel);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
document.addEventListener('keyup', () => {
|
|
162
|
+
for (const cancel of activeKeyboardRipples) cancel();
|
|
163
|
+
activeKeyboardRipples.length = 0;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
</script>
|
|
167
|
+
|
|
168
|
+
<script lang="ts">
|
|
169
|
+
let self: HTMLElement;
|
|
170
|
+
|
|
171
|
+
$effect(() => {
|
|
172
|
+
initRipple();
|
|
173
|
+
const parent = self.parentElement;
|
|
174
|
+
if (!parent) return;
|
|
175
|
+
parent.classList.add('m3-layer');
|
|
176
|
+
return () => parent.classList.remove('m3-layer');
|
|
177
|
+
});
|
|
178
|
+
</script>
|
|
179
|
+
|
|
180
|
+
<span bind:this={self} style="display:none" aria-hidden="true"></span>
|
|
181
|
+
<div class="hitbox"></div>
|
|
182
|
+
<div class="tint"></div>
|
|
183
|
+
|
|
184
|
+
<style>
|
|
185
|
+
.hitbox {
|
|
186
|
+
position: absolute;
|
|
187
|
+
inset: 0;
|
|
188
|
+
}
|
|
189
|
+
.tint {
|
|
190
|
+
position: absolute;
|
|
191
|
+
inset: 0;
|
|
192
|
+
border-radius: inherit;
|
|
193
|
+
pointer-events: none;
|
|
194
|
+
|
|
195
|
+
background-color: currentColor;
|
|
196
|
+
opacity: 0;
|
|
197
|
+
transition: opacity var(--md-sys-motion-duration-fast, 150ms)
|
|
198
|
+
var(--md-sys-motion-timing-function, cubic-bezier(0.34, 0.8, 0.34, 1));
|
|
199
|
+
|
|
200
|
+
&:not(
|
|
201
|
+
:global(input:disabled + label) > .tint,
|
|
202
|
+
:global(input:disabled + .layer-container) > .tint,
|
|
203
|
+
:global(:disabled) > .tint
|
|
204
|
+
) {
|
|
205
|
+
@media (hover: hover) {
|
|
206
|
+
&:is(:global(:hover) > .tint, :global(:active) > .tint) {
|
|
207
|
+
opacity: 0.08;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
&:is(:global(input:focus-visible + label) > .tint),
|
|
211
|
+
&:is(:global(:focus-visible) > .tint),
|
|
212
|
+
&:is(:global(:active) > .tint) {
|
|
213
|
+
opacity: 0.12;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
</style>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { generateThemeCSS, isDarkScheme, themeState, type ThemeConfig } from './theme.svelte.js';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* Initial configuration for the theme.
|
|
7
|
+
* Useful for SSR when reading from cookies.
|
|
8
|
+
*/
|
|
9
|
+
config?: Partial<ThemeConfig>;
|
|
10
|
+
/**
|
|
11
|
+
* Optional dark mode state passed from the server to prevent flashing.
|
|
12
|
+
* If provided, it overrides the auto-detection.
|
|
13
|
+
*/
|
|
14
|
+
isDark?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether to persist changes to localStorage and cookies.
|
|
17
|
+
* Defaults to true.
|
|
18
|
+
*/
|
|
19
|
+
persist?: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let { config, isDark: isDarkProp, persist = true }: Props = $props();
|
|
23
|
+
|
|
24
|
+
// Sync config to global state
|
|
25
|
+
// We use an effect to keep it in sync if the prop changes,
|
|
26
|
+
// but also run it during initialization for SSR.
|
|
27
|
+
function syncConfig(c?: Partial<ThemeConfig>) {
|
|
28
|
+
if (!c) return;
|
|
29
|
+
if (c.sourceColor) themeState.sourceColor = c.sourceColor;
|
|
30
|
+
if (c.scheme) themeState.scheme = c.scheme;
|
|
31
|
+
if (c.contrast) themeState.contrast = c.contrast;
|
|
32
|
+
if (c.variant) themeState.variant = c.variant;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Run immediately for SSR
|
|
36
|
+
syncConfig(config);
|
|
37
|
+
|
|
38
|
+
// Keep in sync if prop updates on client
|
|
39
|
+
$effect(() => {
|
|
40
|
+
syncConfig(config);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Calculate final dark mode state
|
|
44
|
+
let finalIsDark = $state(isDarkProp !== undefined ? isDarkProp : isDarkScheme(themeState.scheme));
|
|
45
|
+
|
|
46
|
+
$effect(() => {
|
|
47
|
+
if (themeState.scheme !== 'system') {
|
|
48
|
+
finalIsDark = themeState.scheme === 'dark';
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const media = window.matchMedia('(prefers-color-scheme: dark)');
|
|
53
|
+
const handler = (e: MediaQueryListEvent) => {
|
|
54
|
+
finalIsDark = e.matches;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
finalIsDark = media.matches;
|
|
58
|
+
media.addEventListener('change', handler);
|
|
59
|
+
return () => media.removeEventListener('change', handler);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const themeStyles = $derived(generateThemeCSS(themeState, finalIsDark));
|
|
63
|
+
|
|
64
|
+
// Persistence effect
|
|
65
|
+
$effect(() => {
|
|
66
|
+
if (!persist) return;
|
|
67
|
+
|
|
68
|
+
const configStr = JSON.stringify({
|
|
69
|
+
sourceColor: themeState.sourceColor,
|
|
70
|
+
scheme: themeState.scheme,
|
|
71
|
+
contrast: themeState.contrast,
|
|
72
|
+
variant: themeState.variant
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
localStorage.setItem('ogonek-m3-theme-config', configStr);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// Dark mode class effect
|
|
79
|
+
$effect(() => {
|
|
80
|
+
if (finalIsDark) {
|
|
81
|
+
document.documentElement.classList.add('dark');
|
|
82
|
+
} else {
|
|
83
|
+
document.documentElement.classList.remove('dark');
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
</script>
|
|
87
|
+
|
|
88
|
+
<svelte:head>
|
|
89
|
+
{@html `<` + `style id="ogonek-m3-dynamic-theme">` + themeStyles + `</` + `style>`}
|
|
90
|
+
</svelte:head>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import type { IconProps } from './types.js';
|
|
4
|
+
|
|
5
|
+
const {
|
|
6
|
+
name,
|
|
7
|
+
variant = 'rounded',
|
|
8
|
+
fill = 0,
|
|
9
|
+
wght = 400,
|
|
10
|
+
grad = 0,
|
|
11
|
+
opsz = 24,
|
|
12
|
+
class: className = 'size-6 text-[24px]'
|
|
13
|
+
}: IconProps = $props();
|
|
14
|
+
|
|
15
|
+
const wrapperClass = 'inline-flex items-center justify-center leading-none';
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<div class={clsx(className, wrapperClass)}>
|
|
19
|
+
<span
|
|
20
|
+
class="material-symbols-{variant}"
|
|
21
|
+
style="font-size: 1em; font-variation-settings: 'FILL' {fill}, 'wght' {wght}, 'GRAD' {grad}, 'opsz' {opsz};"
|
|
22
|
+
>{name}</span
|
|
23
|
+
>
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { LoadingIndicatorProps } from './types.js';
|
|
3
|
+
import { loadingIndicator } from './theme.js';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
size = 48,
|
|
8
|
+
container = false,
|
|
9
|
+
center = true,
|
|
10
|
+
class: className
|
|
11
|
+
}: LoadingIndicatorProps = $props();
|
|
12
|
+
|
|
13
|
+
const styling = $derived(loadingIndicator({ center, container, class: clsx(className) }));
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<svg width={size} height={size} class={styling} viewBox="0 0 48 48">
|
|
17
|
+
<path fill="currentColor">
|
|
18
|
+
<animate
|
|
19
|
+
attributeName="d"
|
|
20
|
+
dur="5s"
|
|
21
|
+
repeatCount="indefinite"
|
|
22
|
+
calcMode="spline"
|
|
23
|
+
keySplines="0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8"
|
|
24
|
+
keyTimes="0; 0.14; 0.29; 0.43; 0.57; 0.71; 0.86; 1"
|
|
25
|
+
values="m37.4 24.7 0.5 0.7 0.8 0.9 0.8 1.0 0.6 1.0 -0.1 0.8 -0.0 0.1 -0.6 0.7 -1.1 0.5 -1.3 0.3 -1.0 0.2 -0.9 0.4 -0.7 1.1 0.1 1.0 0.1 1.1 0.0 1.2 -0.2 1.1 -0.4 0.5 -0.3 0.2 -0.8 0.2 -1.2 -0.4 -1.2 -0.4 -1.0 -0.5 -0.8 -0.1 -1.3 0.5 -0.5 0.8 -0.6 0.9 -0.6 1.0 -0.8 0.8 -0.8 0.2 -0.1 -0.0 -0.9 -0.3 -0.8 -1.0 -0.6 -1.0 -0.6 -0.9 -0.5 -0.7 -1.3 -0.3 -0.9 0.2 -0.9 0.4 -1.2 0.5 -1.2 0.3 -0.8 -0.3 -0.0 -0.1 -0.6 -0.6 -0.1 -1.2 0.1 -1.2 0.0 -1.1 0.0 -0.9 -0.7 -1.1 -0.9 -0.3 -1.1 -0.3 -1.2 -0.3 -1.1 -0.4 -0.5 -0.8 -0.0 0.0 -0.1 -0.9 0.6 -1.0 0.8 -0.9 0.8 -0.9 0.5 -0.7 -0.0 -1.4 -0.5 -0.7 -0.8 -0.9 -0.8 -0.9 -0.6 -1.0 0.1 -0.9 0.0 -0.0 0.5 -0.8 1.1 -0.4 1.2 -0.3 1.1 -0.3 0.9 -0.3 0.7 -1.1 0.0 -0.9 -0.0 -1.1 -0.1 -1.2 0.1 -1.2 0.6 -0.6 0.0 -0.1 0.8 -0.3 1.2 0.3 1.2 0.5 0.9 0.4 0.9 0.2 1.3 -0.3 0.5 -0.7 0.6 -0.9 0.6 -1.0 0.8 -1.0 0.9 -0.3 0.1 0.0 0.8 0.2 0.8 0.8 0.6 1.0 0.6 0.9 0.5 0.8 1.3 0.5 0.8 -0.1 1.0 -0.5 1.2 -0.4 1.2 -0.4 0.8 0.2 0.3 0.2 0.4 0.5 0.2 1.1 -0.0 1.2 -0.1 1.1 -0.1 1.0 0.7 1.1 0.9 0.4 1.0 0.2 1.3 0.3 1.1 0.5 0.6 0.7 0.0 0.1 0.1 0.8 -0.5 1.0 -0.9 1.0 -0.8 0.9 -0.5 0.7 z;m39.9 24.0 -0.3 0.8 -0.4 0.8 -0.3 0.8 -0.2 1.5 0.1 0.9 0.1 0.9 -0.1 0.9 -0.2 0.8 -0.3 0.8 -0.2 0.4 -0.3 0.4 -0.5 0.7 -0.7 0.5 -0.8 0.4 -0.8 0.4 -0.8 0.4 -1.2 1.0 -0.5 0.7 -0.5 0.8 -0.6 0.6 -0.6 0.6 -0.8 0.4 -0.4 0.2 -0.5 0.1 -0.9 0.2 -0.8 -0.0 -0.9 -0.2 -0.9 -0.3 -0.8 -0.1 -1.6 -0.1 -0.8 0.2 -0.9 0.3 -0.9 0.2 -0.8 -0.0 -0.9 -0.2 -0.5 -0.1 -0.4 -0.2 -0.8 -0.4 -0.6 -0.5 -0.6 -0.7 -0.5 -0.8 -0.5 -0.7 -1.2 -1.0 -0.7 -0.4 -0.9 -0.4 -0.8 -0.4 -0.6 -0.5 -0.6 -0.7 -0.3 -0.4 -0.2 -0.4 -0.3 -0.8 -0.2 -0.8 -0.1 -0.9 0.1 -0.9 0.1 -0.9 -0.2 -1.5 -0.3 -0.8 -0.4 -0.8 -0.3 -0.8 -0.2 -0.8 -0.1 -0.9 0.1 -0.7 -0.0 -0.2 0.2 -0.8 0.4 -0.8 0.5 -0.7 0.6 -0.6 0.7 -0.7 0.5 -0.6 0.6 -1.3 0.3 -0.9 0.2 -0.8 0.3 -0.8 0.5 -0.7 0.5 -0.6 0.2 -0.2 0.5 -0.4 0.8 -0.4 0.8 -0.3 0.8 -0.2 0.9 -0.0 0.8 -0.1 1.4 -0.5 0.7 -0.4 0.7 -0.5 0.7 -0.5 0.8 -0.3 0.8 -0.2 0.9 -0.1 0.0 -0.0 0.8 0.1 0.9 0.2 0.8 0.3 0.7 0.5 0.7 0.5 0.7 0.4 1.4 0.5 0.8 0.1 0.9 0.0 0.9 0.2 0.8 0.3 0.7 0.4 0.5 0.4 0.2 0.1 0.5 0.7 0.5 0.7 0.3 0.8 0.2 0.8 0.3 0.9 0.6 1.3 0.5 0.6 0.7 0.7 0.6 0.6 0.5 0.7 0.4 0.8 0.2 0.8 0.0 0.2 0.1 0.7 -0.1 0.9 z;m38.9 24.2 -0.2 0.8 -0.2 0.7 -0.3 0.8 -0.2 0.8 -0.3 0.7 -0.2 0.8 -0.3 0.8 -0.2 0.7 -0.3 0.8 -0.2 0.8 -0.3 0.7 -0.2 0.8 -0.4 1.0 -0.4 0.8 -0.4 0.8 -0.6 0.6 -0.7 0.5 0.0 0.1 -0.7 0.4 -0.8 0.3 -0.8 0.3 -0.9 0.1 -1.1 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -0.8 -0.0 -1.1 -0.0 -0.9 -0.1 -0.8 -0.3 -0.8 -0.3 -0.7 -0.5 -0.1 0.0 -0.6 -0.5 -0.6 -0.7 -0.4 -0.7 -0.4 -0.8 -0.4 -1.0 -0.2 -0.8 -0.3 -0.7 -0.2 -0.8 -0.3 -0.8 -0.2 -0.7 -0.3 -0.8 -0.2 -0.8 -0.3 -0.7 -0.2 -0.8 -0.3 -0.7 -0.2 -0.8 -0.3 -0.8 -0.2 -0.7 -0.3 -1.1 -0.2 -0.9 -0.0 -0.8 0.0 -0.9 0.2 -0.8 0.1 -0.1 0.3 -0.7 0.4 -0.8 0.6 -0.6 0.6 -0.6 0.9 -0.7 0.6 -0.5 0.7 -0.4 0.6 -0.5 0.7 -0.5 0.6 -0.4 0.7 -0.5 0.6 -0.5 0.7 -0.5 0.6 -0.4 0.7 -0.5 0.6 -0.5 0.7 -0.4 0.6 -0.5 0.9 -0.7 0.8 -0.4 0.8 -0.3 0.8 -0.2 0.8 -0.0 0.1 -0.0 0.9 0.0 0.8 0.2 0.8 0.3 0.8 0.4 0.9 0.7 0.6 0.5 0.7 0.4 0.6 0.5 0.7 0.5 0.6 0.4 0.7 0.5 0.6 0.5 0.7 0.5 0.6 0.4 0.7 0.5 0.6 0.5 0.7 0.4 0.6 0.5 0.9 0.7 0.6 0.6 0.6 0.7 0.4 0.7 0.3 0.7 0.0 0.1 0.2 0.8 0.1 0.9 -0.0 0.9 -0.2 0.8 -0.3 1.1 z;m39.6 24.0 -0.1 0.8 -0.3 0.8 -0.2 0.8 -0.3 0.7 -0.3 0.8 -0.4 0.7 -0.4 0.7 -0.5 0.6 -0.4 0.6 -0.6 0.6 -0.6 0.6 -0.4 0.4 -0.6 0.6 -0.4 0.5 -0.9 0.8 -0.5 0.5 -0.6 0.6 -0.4 0.4 -0.7 0.7 -0.5 0.5 -0.6 0.4 -0.7 0.5 -0.6 0.4 -0.7 0.4 -0.7 0.3 -0.8 0.3 -0.8 0.3 -0.8 0.2 -0.8 0.1 -0.8 0.1 -0.8 0.1 -0.9 0.0 -0.8 -0.0 -0.9 -0.1 -0.8 -0.2 -0.8 -0.2 -0.9 -0.2 -0.8 -0.3 -0.8 -0.4 -0.8 -0.4 -0.7 -0.5 -0.7 -0.5 -0.7 -0.5 -0.6 -0.6 -0.1 -0.1 -0.5 -0.6 -0.6 -0.7 -0.5 -0.7 -0.5 -0.8 -0.4 -0.7 -0.4 -0.8 -0.3 -0.8 -0.2 -0.8 -0.2 -0.9 -0.2 -0.8 -0.1 -0.9 0.0 -0.8 0.0 -0.9 0.1 -0.8 0.1 -0.8 0.1 -0.8 0.3 -0.8 0.2 -0.8 0.3 -0.7 0.4 -0.8 0.3 -0.7 0.5 -0.6 0.4 -0.7 0.4 -0.5 0.6 -0.6 0.6 -0.7 0.4 -0.4 0.6 -0.6 0.5 -0.4 0.8 -0.9 0.5 -0.5 0.6 -0.6 0.4 -0.4 0.7 -0.7 0.5 -0.5 0.6 -0.4 0.7 -0.5 0.6 -0.4 0.7 -0.4 0.7 -0.3 0.8 -0.3 0.8 -0.3 0.8 -0.2 0.8 -0.1 0.8 -0.1 0.8 -0.1 0.9 -0.0 0.8 0.0 0.9 0.1 0.8 0.2 0.8 0.2 0.9 0.2 0.8 0.4 0.8 0.3 0.8 0.4 0.7 0.5 0.7 0.5 0.7 0.5 0.6 0.7 0.1 -0.0 0.5 0.6 0.6 0.7 0.5 0.7 0.5 0.8 0.4 0.7 0.3 0.8 0.4 0.8 0.2 0.8 0.2 0.9 0.2 0.8 0.1 0.9 0.0 0.8 -0.0 0.8 -0.1 0.9 z;m40.0 24.0 -0.1 0.8 -0.5 0.8 -0.6 0.8 -0.6 0.6 -0.6 0.7 -0.5 0.6 -0.7 1.2 -0.1 0.7 -0.1 0.8 -0.0 0.9 -0.1 0.9 -0.1 0.9 -0.2 0.9 -0.5 0.7 -0.0 0.0 -0.7 0.5 -0.9 0.2 -0.9 0.1 -0.9 0.1 -0.8 0.0 -0.8 0.1 -0.8 0.1 -1.2 0.7 -0.6 0.5 -0.7 0.6 -0.6 0.6 -0.8 0.6 -0.8 0.5 -0.8 0.1 -0.0 0.0 -0.8 -0.1 -0.8 -0.5 -0.8 -0.6 -0.6 -0.6 -0.7 -0.6 -0.6 -0.5 -1.2 -0.7 -0.7 -0.1 -0.8 -0.1 -0.9 -0.0 -0.9 -0.1 -0.9 -0.1 -0.9 -0.2 -0.7 -0.5 -0.0 0.0 -0.5 -0.7 -0.2 -0.9 -0.1 -0.9 -0.1 -0.9 -0.0 -0.8 -0.1 -0.8 -0.1 -0.8 -0.7 -1.2 -0.5 -0.6 -0.6 -0.7 -0.6 -0.6 -0.6 -0.8 -0.5 -0.8 -0.1 -0.8 -0.0 -0.0 0.1 -0.8 0.5 -0.8 0.6 -0.8 0.6 -0.6 0.6 -0.7 0.5 -0.6 0.7 -1.2 0.1 -0.7 0.1 -0.8 0.0 -0.9 0.1 -0.9 0.1 -0.9 0.2 -0.9 0.5 -0.7 -0.0 -0.0 0.7 -0.5 0.9 -0.2 0.9 -0.1 0.9 -0.1 0.8 -0.0 0.8 -0.1 0.8 -0.1 1.2 -0.7 0.6 -0.5 0.7 -0.6 0.6 -0.6 0.8 -0.6 0.8 -0.5 0.8 -0.1 0.0 -0.0 0.8 0.1 0.8 0.5 0.8 0.6 0.6 0.6 0.7 0.6 0.6 0.5 1.2 0.7 0.7 0.1 0.8 0.1 0.9 0.0 0.9 0.1 0.9 0.1 0.9 0.2 0.7 0.5 0.0 -0.0 0.5 0.7 0.2 0.9 0.1 0.9 0.1 0.9 0.0 0.8 0.1 0.8 0.1 0.8 0.7 1.2 0.5 0.6 0.6 0.7 0.6 0.6 0.6 0.8 0.5 0.8 0.1 0.8 z;m36.9 24.6 0.1 0.7 0.2 0.8 0.2 0.7 0.4 0.9 0.4 0.9 0.2 0.9 0.1 1.0 0.1 0.9 -0.1 0.9 -0.3 0.9 -0.3 0.9 -0.4 0.8 -0.5 0.8 -0.6 0.6 -0.1 0.1 -0.6 0.6 -0.8 0.5 -0.8 0.4 -0.9 0.3 -0.9 0.3 -0.9 0.1 -0.9 -0.1 -1.0 -0.1 -0.9 -0.2 -0.9 -0.4 -0.9 -0.4 -0.7 -0.2 -0.8 -0.2 -0.7 -0.1 -1.2 0.0 -0.7 0.1 -0.8 0.2 -0.7 0.2 -0.9 0.4 -0.9 0.4 -0.9 0.2 -1.0 0.1 -0.9 0.1 -0.9 -0.1 -0.9 -0.3 -0.9 -0.3 -0.8 -0.4 -0.8 -0.5 -0.6 -0.6 -0.1 -0.1 -0.6 -0.6 -0.5 -0.8 -0.4 -0.8 -0.3 -0.9 -0.3 -0.9 -0.1 -0.9 0.1 -0.9 0.1 -1.0 0.2 -0.9 0.4 -0.9 0.4 -0.9 0.2 -0.7 0.2 -0.8 0.1 -0.7 -0.0 -1.2 -0.1 -0.7 -0.2 -0.8 -0.2 -0.7 -0.4 -0.9 -0.4 -0.9 -0.2 -0.9 -0.1 -1.0 -0.1 -0.9 0.1 -0.9 0.3 -0.9 0.3 -0.9 0.4 -0.8 0.5 -0.8 0.6 -0.6 0.1 -0.1 0.6 -0.6 0.8 -0.5 0.8 -0.4 0.9 -0.3 0.9 -0.3 0.9 -0.1 0.9 0.1 1.0 0.1 0.9 0.2 0.9 0.4 0.9 0.4 0.7 0.2 0.8 0.2 0.7 0.1 1.2 -0.0 0.7 -0.1 0.8 -0.2 0.7 -0.2 0.9 -0.4 0.9 -0.4 0.9 -0.2 1.0 -0.1 0.9 -0.1 0.9 0.1 0.9 0.3 0.9 0.3 0.8 0.4 0.8 0.5 0.6 0.6 0.1 0.1 0.6 0.6 0.5 0.8 0.4 0.8 0.3 0.9 0.3 0.9 0.1 0.9 -0.1 0.9 -0.1 1.0 -0.2 0.9 -0.4 0.9 -0.4 0.9 -0.2 0.7 -0.2 0.8 -0.1 0.7 z;m37.7 24.0 -0.3 0.7 -0.4 0.7 -0.3 0.6 -0.3 0.7 -0.4 0.6 -0.3 0.5 -0.4 0.6 -0.4 0.5 -0.4 0.5 -0.4 0.5 -0.4 0.5 -0.4 0.5 -0.3 0.4 -0.5 0.4 -0.8 0.8 -0.4 0.5 -0.4 0.3 -0.5 0.4 -0.5 0.4 -0.5 0.4 -0.5 0.4 -0.5 0.4 -0.6 0.4 -0.5 0.3 -0.6 0.4 -0.7 0.3 -0.6 0.3 -0.7 0.4 -0.7 0.3 -0.7 0.2 -0.7 0.3 -0.9 0.3 -0.8 0.2 -0.8 0.1 -0.9 0.1 -1.0 0.1 -0.9 -0.0 -0.9 -0.1 -0.9 -0.1 -0.9 -0.3 -0.9 -0.3 -0.8 -0.4 -0.8 -0.6 -0.7 -0.6 -0.0 0.0 -0.6 -0.7 -0.6 -0.8 -0.4 -0.8 -0.3 -0.9 -0.3 -0.9 -0.1 -0.9 -0.1 -0.9 0.0 -0.9 0.1 -1.0 0.1 -0.9 0.1 -0.8 0.2 -0.8 0.3 -0.9 0.3 -0.7 0.2 -0.7 0.3 -0.7 0.4 -0.7 0.3 -0.6 0.3 -0.7 0.4 -0.6 0.3 -0.5 0.4 -0.6 0.4 -0.5 0.4 -0.5 0.4 -0.5 0.4 -0.5 0.4 -0.5 0.3 -0.4 0.5 -0.4 0.8 -0.8 0.4 -0.5 0.4 -0.3 0.5 -0.4 0.5 -0.4 0.5 -0.4 0.5 -0.4 0.5 -0.4 0.6 -0.4 0.5 -0.3 0.6 -0.4 0.7 -0.3 0.6 -0.3 0.7 -0.4 0.7 -0.3 0.7 -0.2 0.7 -0.3 0.9 -0.3 0.8 -0.2 0.8 -0.1 0.9 -0.1 1.0 -0.1 0.9 0.0 0.9 0.1 0.9 0.1 0.9 0.3 0.9 0.3 0.8 0.4 0.8 0.6 0.7 0.6 -0.0 0.0 0.6 0.7 0.6 0.8 0.4 0.8 0.3 0.9 0.3 0.9 0.1 0.9 0.1 0.9 -0.0 0.9 -0.1 1.0 -0.1 0.9 -0.1 0.8 -0.2 0.8 -0.3 0.9 -0.3 0.7 z;m37.4 24.7 0.5 0.7 0.8 0.9 0.8 1.0 0.6 1.0 -0.1 0.8 -0.0 0.1 -0.6 0.7 -1.1 0.5 -1.3 0.3 -1.0 0.2 -0.9 0.4 -0.7 1.1 0.1 1.0 0.1 1.1 0.0 1.2 -0.2 1.1 -0.4 0.5 -0.3 0.2 -0.8 0.2 -1.2 -0.4 -1.2 -0.4 -1.0 -0.5 -0.8 -0.1 -1.3 0.5 -0.5 0.8 -0.6 0.9 -0.6 1.0 -0.8 0.8 -0.8 0.2 -0.1 -0.0 -0.9 -0.3 -0.8 -1.0 -0.6 -1.0 -0.6 -0.9 -0.5 -0.7 -1.3 -0.3 -0.9 0.2 -0.9 0.4 -1.2 0.5 -1.2 0.3 -0.8 -0.3 -0.0 -0.1 -0.6 -0.6 -0.1 -1.2 0.1 -1.2 0.0 -1.1 0.0 -0.9 -0.7 -1.1 -0.9 -0.3 -1.1 -0.3 -1.2 -0.3 -1.1 -0.4 -0.5 -0.8 -0.0 0.0 -0.1 -0.9 0.6 -1.0 0.8 -0.9 0.8 -0.9 0.5 -0.7 -0.0 -1.4 -0.5 -0.7 -0.8 -0.9 -0.8 -0.9 -0.6 -1.0 0.1 -0.9 0.0 -0.0 0.5 -0.8 1.1 -0.4 1.2 -0.3 1.1 -0.3 0.9 -0.3 0.7 -1.1 0.0 -0.9 -0.0 -1.1 -0.1 -1.2 0.1 -1.2 0.6 -0.6 0.0 -0.1 0.8 -0.3 1.2 0.3 1.2 0.5 0.9 0.4 0.9 0.2 1.3 -0.3 0.5 -0.7 0.6 -0.9 0.6 -1.0 0.8 -1.0 0.9 -0.3 0.1 0.0 0.8 0.2 0.8 0.8 0.6 1.0 0.6 0.9 0.5 0.8 1.3 0.5 0.8 -0.1 1.0 -0.5 1.2 -0.4 1.2 -0.4 0.8 0.2 0.3 0.2 0.4 0.5 0.2 1.1 -0.0 1.2 -0.1 1.1 -0.1 1.0 0.7 1.1 0.9 0.4 1.0 0.2 1.3 0.3 1.1 0.5 0.6 0.7 0.0 0.1 0.1 0.8 -0.5 1.0 -0.9 1.0 -0.8 0.9 -0.5 0.7 z"
|
|
26
|
+
/>
|
|
27
|
+
<animateTransform
|
|
28
|
+
attributeName="transform"
|
|
29
|
+
attributeType="XML"
|
|
30
|
+
type="rotate"
|
|
31
|
+
dur="5s"
|
|
32
|
+
repeatCount="indefinite"
|
|
33
|
+
calcMode="spline"
|
|
34
|
+
keySplines="0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8"
|
|
35
|
+
keyTimes="0; 0.14; 0.29; 0.43; 0.57; 0.71; 0.86; 1"
|
|
36
|
+
values="0 24 24; 154 24 24; 309 24 24; 463 24 24; 617 24 24; 771 24 24; 926 24 24; 1080 24 24"
|
|
37
|
+
/>
|
|
38
|
+
</path>
|
|
39
|
+
</svg>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
A helper that handles google icons. Should not be used directly.
|
|
4
|
+
Use the App.svelte component instead
|
|
5
|
+
-->
|
|
6
|
+
<script lang="ts">
|
|
7
|
+
import { baseIcons } from './base-icons.js';
|
|
8
|
+
import type { MaterialSymbolsProviderProps } from './types.js';
|
|
9
|
+
|
|
10
|
+
const { extraIcons = [], display = 'swap' }: MaterialSymbolsProviderProps = $props();
|
|
11
|
+
|
|
12
|
+
const iconList = $derived.by(() => {
|
|
13
|
+
const combined = [...baseIcons, ...extraIcons].filter(Boolean);
|
|
14
|
+
return Array.from(new Set(combined)).sort();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const iconNamesParam = $derived.by(() => {
|
|
18
|
+
if (!iconList.length) return '';
|
|
19
|
+
return `&icon_names=${encodeURIComponent(iconList.join(','))}`;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const displayParam = $derived.by(() => {
|
|
23
|
+
if (!display) return '';
|
|
24
|
+
return `&display=${display}`;
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const href = $derived.by(() => {
|
|
28
|
+
const families = ['Rounded', 'Outlined', 'Sharp'];
|
|
29
|
+
const familyParams = families
|
|
30
|
+
.map((f) => `family=Material+Symbols+${f}:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200`)
|
|
31
|
+
.join('&');
|
|
32
|
+
return `https://fonts.googleapis.com/css2?${familyParams}${iconNamesParam}${displayParam}`;
|
|
33
|
+
});
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<svelte:head>
|
|
37
|
+
<link rel="stylesheet" {href} />
|
|
38
|
+
</svelte:head>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MaterialSymbolsProviderProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A helper that handles google icons. Should not be used directly.
|
|
4
|
+
* Use the App.svelte component instead
|
|
5
|
+
*/
|
|
6
|
+
declare const MaterialSymbolsProvider: import("svelte").Component<MaterialSymbolsProviderProps, {}, "">;
|
|
7
|
+
type MaterialSymbolsProvider = ReturnType<typeof MaterialSymbolsProvider>;
|
|
8
|
+
export default MaterialSymbolsProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const baseIcons: readonly ["arrow_drop_down", "check", "chevron_left", "chevron_right", "close", "palette", "file_upload", "home", "info", "search", "settings", "warning", "calendar_month", "schedule", "check_circle", "error", "delete", "right_panel_close", "right_panel_open", "edit", "add", "favorite", "share", "settings", "help", "menu", "menu_open"];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const baseIcons = [
|
|
2
|
+
'arrow_drop_down',
|
|
3
|
+
'check',
|
|
4
|
+
'chevron_left',
|
|
5
|
+
'chevron_right',
|
|
6
|
+
'close',
|
|
7
|
+
'palette',
|
|
8
|
+
'file_upload',
|
|
9
|
+
'home',
|
|
10
|
+
'info',
|
|
11
|
+
'search',
|
|
12
|
+
'settings',
|
|
13
|
+
'warning',
|
|
14
|
+
'calendar_month',
|
|
15
|
+
'schedule',
|
|
16
|
+
'check_circle',
|
|
17
|
+
'error',
|
|
18
|
+
'delete',
|
|
19
|
+
'right_panel_close',
|
|
20
|
+
'right_panel_open',
|
|
21
|
+
'edit',
|
|
22
|
+
'add',
|
|
23
|
+
'favorite',
|
|
24
|
+
'share',
|
|
25
|
+
'settings',
|
|
26
|
+
'help',
|
|
27
|
+
'menu',
|
|
28
|
+
'menu_open'
|
|
29
|
+
];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-icons.js';
|
|
2
|
+
export * from './theme.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export { default as Icon } from './Icon.svelte';
|
|
5
|
+
export { default as LoadingIndicator } from './LoadingIndicator.svelte';
|
|
6
|
+
export { default as MaterialSymbolsProvider } from './MaterialSymbolsProvider.svelte';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-icons.js';
|
|
2
|
+
export * from './theme.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export { default as Icon } from './Icon.svelte';
|
|
5
|
+
export { default as LoadingIndicator } from './LoadingIndicator.svelte';
|
|
6
|
+
export { default as MaterialSymbolsProvider } from './MaterialSymbolsProvider.svelte';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
export type LoadingIndicatorVariants = VariantProps<typeof loadingIndicator>;
|
|
3
|
+
export declare const loadingIndicator: import("tailwind-variants").TVReturnType<{
|
|
4
|
+
center: {
|
|
5
|
+
true: string;
|
|
6
|
+
false: string;
|
|
7
|
+
};
|
|
8
|
+
container: {
|
|
9
|
+
true: string;
|
|
10
|
+
false: string;
|
|
11
|
+
};
|
|
12
|
+
}, undefined, "rounded-full", {
|
|
13
|
+
center: {
|
|
14
|
+
true: string;
|
|
15
|
+
false: string;
|
|
16
|
+
};
|
|
17
|
+
container: {
|
|
18
|
+
true: string;
|
|
19
|
+
false: string;
|
|
20
|
+
};
|
|
21
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
22
|
+
center: {
|
|
23
|
+
true: string;
|
|
24
|
+
false: string;
|
|
25
|
+
};
|
|
26
|
+
container: {
|
|
27
|
+
true: string;
|
|
28
|
+
false: string;
|
|
29
|
+
};
|
|
30
|
+
}, undefined, "rounded-full", unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
export const loadingIndicator = tv({
|
|
3
|
+
base: 'rounded-full',
|
|
4
|
+
variants: {
|
|
5
|
+
center: {
|
|
6
|
+
true: 'mx-auto',
|
|
7
|
+
false: ''
|
|
8
|
+
},
|
|
9
|
+
container: {
|
|
10
|
+
true: 'text-md-sys-color-on-primary-container bg-md-sys-color-primary-container',
|
|
11
|
+
false: 'text-md-sys-color-primary'
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
+
import Icon from './Icon.svelte';
|
|
3
|
+
import type { LoadingIndicatorVariants } from './theme.js';
|
|
4
|
+
export type IconMD = typeof Icon;
|
|
5
|
+
export type IconVariant = 'outlined' | 'rounded' | 'sharp';
|
|
6
|
+
export type IconProps = HTMLAttributes<HTMLSpanElement> & {
|
|
7
|
+
name: string;
|
|
8
|
+
variant?: IconVariant;
|
|
9
|
+
fill?: 0 | 1;
|
|
10
|
+
wght?: number;
|
|
11
|
+
grad?: number;
|
|
12
|
+
opsz?: number;
|
|
13
|
+
};
|
|
14
|
+
export type LoadingIndicatorProps = HTMLAttributes<SVGAElement> & LoadingIndicatorVariants & {
|
|
15
|
+
size?: number;
|
|
16
|
+
container?: boolean;
|
|
17
|
+
center?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type MaterialSymbolsProviderProps = {
|
|
20
|
+
icons?: string[];
|
|
21
|
+
extraIcons?: string[];
|
|
22
|
+
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Icon from './Icon.svelte';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './icon/index.js';
|
|
2
|
+
export * from './theme.svelte.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export * from './ui.js';
|
|
5
|
+
export type { ColorScheme, ContrastMode, ThemeConfig, ThemeVariant } from './theme.svelte.js';
|
|
6
|
+
export { default as Layer } from './Layer.svelte';
|
|
7
|
+
export { default as Theme } from './Theme.svelte';
|