tera-system-ui 0.1.64 → 0.1.67
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/COMPONENT_API.md +2 -539
- package/dist/components/accordion/Accordion.d.ts +24 -0
- package/dist/components/accordion/Accordion.js +4 -0
- package/dist/components/accordion/components/Accordion.svelte +2 -8
- package/dist/components/accordion/components/AccordionContent.svelte +5 -12
- package/dist/components/accordion/components/AccordionItem.svelte +3 -9
- package/dist/components/accordion/components/AccordionTrigger.svelte +5 -15
- package/dist/components/ai/ChatBubble.svelte +35 -0
- package/dist/components/ai/ChatBubble.svelte.d.ts +12 -0
- package/dist/components/ai/PromptInput.svelte +58 -0
- package/dist/components/ai/PromptInput.svelte.d.ts +13 -0
- package/dist/components/ai/StreamText.svelte +41 -0
- package/dist/components/ai/StreamText.svelte.d.ts +11 -0
- package/dist/components/ai/SuggestionChips.svelte +34 -0
- package/dist/components/ai/SuggestionChips.svelte.d.ts +10 -0
- package/dist/components/ai/ThinkingLoader.svelte +34 -0
- package/dist/components/ai/ThinkingLoader.svelte.d.ts +11 -0
- package/dist/components/ai/index.d.ts +5 -0
- package/dist/components/ai/index.js +5 -0
- package/dist/components/alert/Alert.svelte +47 -0
- package/dist/components/alert/Alert.svelte.d.ts +15 -0
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/avatar/Avatar.svelte +9 -25
- package/dist/components/badge/Badge.d.ts +52 -0
- package/dist/components/badge/Badge.js +22 -0
- package/dist/components/badge/Badge.svelte +22 -0
- package/dist/components/badge/Badge.svelte.d.ts +4 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/brand-logo/BrandLogo.svelte +12 -10
- package/dist/components/button/Button.d.ts +2 -2
- package/dist/components/button/Button.js +12 -12
- package/dist/components/button/Button.svelte +7 -34
- package/dist/components/card/Card.d.ts +68 -0
- package/dist/components/card/Card.js +28 -0
- package/dist/components/card/Card.svelte +33 -0
- package/dist/components/card/Card.svelte.d.ts +4 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +25 -4
- package/dist/components/checkbox/Checkbox.js +4 -0
- package/dist/components/checkbox/Checkbox.svelte +13 -16
- package/dist/components/checkbox/Checkbox.svelte.d.ts +2 -2
- package/dist/components/combobox/Combobox.d.ts +45 -9
- package/dist/components/combobox/Combobox.js +5 -7
- package/dist/components/combobox/Combobox.svelte +226 -8
- package/dist/components/combobox/Combobox.svelte.d.ts +2 -2
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/command/components/command-empty.svelte +3 -8
- package/dist/components/command/components/command-group.svelte +3 -13
- package/dist/components/command/components/command-input.svelte +5 -13
- package/dist/components/command/components/command-item.svelte +3 -9
- package/dist/components/command/components/command-link-item.svelte +3 -8
- package/dist/components/command/components/command-list.svelte +3 -8
- package/dist/components/command/components/command-separator.svelte +3 -8
- package/dist/components/command/components/command-shortcut.svelte +2 -10
- package/dist/components/command/components/command.svelte +29 -42
- package/dist/components/date-range-picker/DateRangePicker.svelte +490 -0
- package/dist/components/date-range-picker/DateRangePicker.svelte.d.ts +4 -0
- package/dist/components/date-range-picker/DateRangePicker.types.d.ts +38 -0
- package/dist/components/date-range-picker/DateRangePicker.types.js +1 -0
- package/dist/components/date-range-picker/index.d.ts +2 -0
- package/dist/components/date-range-picker/index.js +1 -0
- package/dist/components/dialog/Dialog.d.ts +43 -121
- package/dist/components/dialog/Dialog.js +1 -39
- package/dist/components/dialog/Dialog.svelte +103 -113
- package/dist/components/dialog/Dialog.svelte.d.ts +1 -2
- package/dist/components/dialog/dialog.scss +21 -24
- package/dist/components/drawer/Drawer.svelte +63 -0
- package/dist/components/drawer/Drawer.svelte.d.ts +16 -0
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +51 -24
- package/dist/components/dropdown-menu/DropdownMenu.js +1 -15
- package/dist/components/dropdown-menu/components/DropdownMenu.svelte +36 -34
- package/dist/components/dropdown-menu/components/DropdownMenu.svelte.d.ts +1 -1
- package/dist/components/dropdown-menu/components/DropdownMenuGroup.svelte +8 -12
- package/dist/components/dropdown-menu/components/DropdownMenuGroup.svelte.d.ts +2 -4
- package/dist/components/dropdown-menu/components/DropdownMenuHeader.svelte +11 -12
- package/dist/components/dropdown-menu/components/DropdownMenuHeader.svelte.d.ts +2 -4
- package/dist/components/dropdown-menu/components/DropdownMenuItem.svelte +27 -30
- package/dist/components/dropdown-menu/components/DropdownMenuItem.svelte.d.ts +1 -1
- package/dist/components/dropdown-menu/components/DropdownMenuSeparator.svelte +9 -11
- package/dist/components/dropdown-menu/components/DropdownMenuSeparator.svelte.d.ts +2 -4
- package/dist/components/fonts/TeraFontMono.svelte +4 -4
- package/dist/components/fonts/TeraFontMono.svelte.d.ts +1 -0
- package/dist/components/fonts/TeraFontSansSerif.svelte +4 -4
- package/dist/components/fonts/TeraFontSansSerif.svelte.d.ts +1 -1
- package/dist/components/header/Header.svelte +6 -9
- package/dist/components/header/header.scss +1 -1
- package/dist/components/icons/IconArrowBigRightFilled.svelte +3 -7
- package/dist/components/icons/IconBook.svelte +3 -6
- package/dist/components/icons/IconBookmarkPlus.svelte +3 -6
- package/dist/components/icons/IconCalculator.svelte +3 -6
- package/dist/components/icons/IconCheck.svelte +3 -6
- package/dist/components/icons/IconChevronDown.svelte +3 -6
- package/dist/components/icons/IconCoin.svelte +3 -6
- package/dist/components/icons/IconCoinConvert.svelte +2 -5
- package/dist/components/icons/IconCopy.svelte +3 -6
- package/dist/components/icons/IconCopyCheckFilled.svelte +3 -6
- package/dist/components/icons/IconHamburger.svelte +3 -6
- package/dist/components/icons/IconLanguage.svelte +3 -6
- package/dist/components/icons/IconLoader2.svelte +3 -6
- package/dist/components/icons/IconLogout.svelte +3 -6
- package/dist/components/icons/IconMoon.svelte +3 -6
- package/dist/components/icons/IconPointFilled.svelte +3 -6
- package/dist/components/icons/IconSearch.svelte +3 -6
- package/dist/components/icons/IconSettings.svelte +3 -6
- package/dist/components/icons/IconSun.svelte +3 -6
- package/dist/components/icons/IconSwitchHorizontal.svelte +3 -6
- package/dist/components/icons/IconSwitchVertical.svelte +3 -6
- package/dist/components/icons/IconTransform.svelte +3 -6
- package/dist/components/icons/IconX.svelte +3 -6
- package/dist/components/input/Input.d.ts +2 -2
- package/dist/components/input/Input.js +10 -10
- package/dist/components/input/Input.svelte +10 -26
- package/dist/components/label/Label.d.ts +2 -2
- package/dist/components/label/Label.js +2 -2
- package/dist/components/label/Label.svelte +4 -12
- package/dist/components/language-picker-button/LanguagePickerButton.svelte +23 -42
- package/dist/components/light-dark-toggle/LightDarkToggle.svelte +21 -26
- package/dist/components/marketing/FeatureCard.svelte +37 -0
- package/dist/components/marketing/FeatureCard.svelte.d.ts +13 -0
- package/dist/components/marketing/PricingCard.svelte +48 -0
- package/dist/components/marketing/PricingCard.svelte.d.ts +15 -0
- package/dist/components/marketing/StatBlock.svelte +14 -0
- package/dist/components/marketing/StatBlock.svelte.d.ts +10 -0
- package/dist/components/marketing/TestimonialCard.svelte +24 -0
- package/dist/components/marketing/TestimonialCard.svelte.d.ts +12 -0
- package/dist/components/marketing/index.d.ts +4 -0
- package/dist/components/marketing/index.js +4 -0
- package/dist/components/popover/Popover.d.ts +32 -13
- package/dist/components/popover/Popover.js +1 -7
- package/dist/components/popover/Popover.svelte +40 -158
- package/dist/components/popover/Popover.svelte.d.ts +2 -2
- package/dist/components/popover-responsive/PopoverResponsive.d.ts +18 -7
- package/dist/components/popover-responsive/PopoverResponsive.js +1 -7
- package/dist/components/popover-responsive/PopoverResponsive.svelte +25 -87
- package/dist/components/popover-responsive/PopoverResponsive.svelte.d.ts +2 -11
- package/dist/components/select/Select.d.ts +60 -23
- package/dist/components/select/Select.js +14 -35
- package/dist/components/select/Select.svelte +157 -28
- package/dist/components/select/Select.svelte.d.ts +2 -3
- package/dist/components/select/index.d.ts +1 -1
- package/dist/components/side-navigation/SideNavigation.svelte +73 -96
- package/dist/components/side-navigation/SideNavigationItem.svelte +2 -2
- package/dist/components/side-navigation/SideNavigationLayout.svelte +3 -5
- package/dist/components/side-navigation/sidenav.scss +17 -13
- package/dist/components/skeleton/Skeleton.svelte +48 -0
- package/dist/components/skeleton/Skeleton.svelte.d.ts +12 -0
- package/dist/components/skeleton/index.d.ts +1 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/slider/Slider.d.ts +25 -15
- package/dist/components/slider/Slider.js +1 -7
- package/dist/components/slider/Slider.svelte +38 -164
- package/dist/components/slider/Slider.svelte.d.ts +1 -1
- package/dist/components/spinner/Spinner.svelte +39 -0
- package/dist/components/spinner/Spinner.svelte.d.ts +10 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/star-rating/StarRating.svelte +33 -49
- package/dist/components/switch/Switch.d.ts +19 -4
- package/dist/components/switch/Switch.js +4 -0
- package/dist/components/switch/Switch.svelte +13 -17
- package/dist/components/switch/Switch.svelte.d.ts +2 -2
- package/dist/components/table/Table.svelte +68 -0
- package/dist/components/table/Table.svelte.d.ts +40 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/tabs/Tabs.svelte.d.ts +45 -16
- package/dist/components/tabs/Tabs.svelte.js +8 -18
- package/dist/components/tabs/components/Tabs.svelte +27 -33
- package/dist/components/tabs/components/Tabs.svelte.d.ts +1 -1
- package/dist/components/tabs/components/TabsContent.svelte +13 -36
- package/dist/components/tabs/components/TabsContent.svelte.d.ts +2 -5
- package/dist/components/tabs/components/TabsItem.svelte +43 -32
- package/dist/components/tabs/components/TabsItem.svelte.d.ts +2 -5
- package/dist/components/tabs/components/TabsList.svelte +90 -58
- package/dist/components/tabs/components/TabsList.svelte.d.ts +2 -4
- package/dist/components/tera-ui-context/TeraUiContext.svelte +13 -26
- package/dist/components/text-area/TextArea.d.ts +2 -2
- package/dist/components/text-area/TextArea.js +9 -9
- package/dist/components/text-area/TextArea.svelte +41 -65
- package/dist/components/toast/ToastContainer.svelte +50 -0
- package/dist/components/toast/ToastContainer.svelte.d.ts +18 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.js +2 -0
- package/dist/components/toast/toast.svelte.d.ts +22 -0
- package/dist/components/toast/toast.svelte.js +18 -0
- package/dist/components/tooltip/Tooltip.d.ts +23 -0
- package/dist/components/tooltip/Tooltip.js +1 -0
- package/dist/components/tooltip/Tooltip.svelte +30 -0
- package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/components/user-avatar-with-menu/UserAvatarWithMenu.svelte +48 -69
- package/dist/index.d.ts +19 -2
- package/dist/index.js +12 -0
- package/dist/llms/accordion.md +90 -0
- package/dist/llms/ai.md +110 -0
- package/dist/llms/alert.md +29 -0
- package/dist/llms/avatar.md +34 -0
- package/dist/llms/badge.md +31 -0
- package/dist/llms/brand-logo.md +30 -0
- package/dist/llms/button.md +37 -0
- package/dist/llms/card.md +32 -0
- package/dist/llms/checkbox.md +35 -0
- package/dist/llms/colors.md +161 -0
- package/dist/llms/combobox.md +40 -0
- package/dist/llms/command.md +7 -0
- package/dist/llms/date-range-picker.md +36 -0
- package/dist/llms/dialog.md +45 -0
- package/dist/llms/drawer.md +30 -0
- package/dist/llms/dropdown-menu.md +112 -0
- package/dist/llms/fonts.md +7 -0
- package/dist/llms/header.md +26 -0
- package/dist/llms/icons.md +43 -0
- package/dist/llms/index.md +65 -0
- package/dist/llms/input.md +37 -0
- package/dist/llms/label.md +30 -0
- package/dist/llms/language-picker-button.md +30 -0
- package/dist/llms/light-dark-toggle.md +26 -0
- package/dist/llms/marketing.md +95 -0
- package/dist/llms/popover-responsive.md +32 -0
- package/dist/llms/popover.md +40 -0
- package/dist/llms/select.md +44 -0
- package/dist/llms/side-navigation.md +30 -0
- package/dist/llms/skeleton.md +28 -0
- package/dist/llms/slider.md +36 -0
- package/dist/llms/spinner.md +25 -0
- package/dist/llms/star-rating.md +31 -0
- package/dist/llms/switch.md +33 -0
- package/dist/llms/table.md +30 -0
- package/dist/llms/tabs.md +92 -0
- package/dist/llms/tera-ui-context.md +30 -0
- package/dist/llms/text-area.md +39 -0
- package/dist/llms/toast.md +7 -0
- package/dist/llms/tooltip.md +32 -0
- package/dist/llms/user-avatar-with-menu.md +28 -0
- package/dist/paraglide/README.md +72 -3
- package/dist/paraglide/messages/_index.d.ts +105 -7
- package/dist/paraglide/messages/_index.js +437 -7
- package/dist/paraglide/messages/ar.d.ts +23 -0
- package/dist/paraglide/messages/ar.js +38 -0
- package/dist/paraglide/messages/bg.d.ts +23 -0
- package/dist/paraglide/messages/bg.js +38 -0
- package/dist/paraglide/messages/bn.d.ts +23 -0
- package/dist/paraglide/messages/bn.js +38 -0
- package/dist/paraglide/messages/ca.d.ts +23 -0
- package/dist/paraglide/messages/ca.js +38 -0
- package/dist/paraglide/messages/cs.d.ts +23 -0
- package/dist/paraglide/messages/cs.js +38 -0
- package/dist/paraglide/messages/da.d.ts +23 -0
- package/dist/paraglide/messages/da.js +38 -0
- package/dist/paraglide/messages/de.d.ts +23 -0
- package/dist/paraglide/messages/de.js +38 -0
- package/dist/paraglide/messages/el.d.ts +23 -0
- package/dist/paraglide/messages/el.js +38 -0
- package/dist/paraglide/messages/en.d.ts +23 -0
- package/dist/paraglide/messages/en.js +38 -0
- package/dist/paraglide/messages/es.d.ts +23 -0
- package/dist/paraglide/messages/es.js +38 -0
- package/dist/paraglide/messages/fi.d.ts +23 -0
- package/dist/paraglide/messages/fi.js +38 -0
- package/dist/paraglide/messages/fr.d.ts +23 -0
- package/dist/paraglide/messages/fr.js +38 -0
- package/dist/paraglide/messages/he.d.ts +23 -0
- package/dist/paraglide/messages/he.js +38 -0
- package/dist/paraglide/messages/hi.d.ts +23 -0
- package/dist/paraglide/messages/hi.js +38 -0
- package/dist/paraglide/messages/hu.d.ts +23 -0
- package/dist/paraglide/messages/hu.js +38 -0
- package/dist/paraglide/messages/id.d.ts +23 -0
- package/dist/paraglide/messages/id.js +38 -0
- package/dist/paraglide/messages/it.d.ts +23 -0
- package/dist/paraglide/messages/it.js +38 -0
- package/dist/paraglide/messages/ja.d.ts +23 -0
- package/dist/paraglide/messages/ja.js +38 -0
- package/dist/paraglide/messages/ko.d.ts +23 -0
- package/dist/paraglide/messages/ko.js +38 -0
- package/dist/paraglide/messages/lt.d.ts +23 -0
- package/dist/paraglide/messages/lt.js +38 -0
- package/dist/paraglide/messages/lv.d.ts +23 -0
- package/dist/paraglide/messages/lv.js +38 -0
- package/dist/paraglide/messages/ms.d.ts +23 -0
- package/dist/paraglide/messages/ms.js +38 -0
- package/dist/paraglide/messages/nl.d.ts +23 -0
- package/dist/paraglide/messages/nl.js +38 -0
- package/dist/paraglide/messages/no.d.ts +23 -0
- package/dist/paraglide/messages/no.js +38 -0
- package/dist/paraglide/messages/pl.d.ts +23 -0
- package/dist/paraglide/messages/pl.js +38 -0
- package/dist/paraglide/messages/pt.d.ts +23 -0
- package/dist/paraglide/messages/pt.js +38 -0
- package/dist/paraglide/messages/ro.d.ts +23 -0
- package/dist/paraglide/messages/ro.js +38 -0
- package/dist/paraglide/messages/ru.d.ts +23 -0
- package/dist/paraglide/messages/ru.js +38 -0
- package/dist/paraglide/messages/sk.d.ts +23 -0
- package/dist/paraglide/messages/sk.js +38 -0
- package/dist/paraglide/messages/sl.d.ts +23 -0
- package/dist/paraglide/messages/sl.js +38 -0
- package/dist/paraglide/messages/sq.d.ts +23 -0
- package/dist/paraglide/messages/sq.js +38 -0
- package/dist/paraglide/messages/sr.d.ts +23 -0
- package/dist/paraglide/messages/sr.js +38 -0
- package/dist/paraglide/messages/sv.d.ts +23 -0
- package/dist/paraglide/messages/sv.js +38 -0
- package/dist/paraglide/messages/sw.d.ts +23 -0
- package/dist/paraglide/messages/sw.js +38 -0
- package/dist/paraglide/messages/ta.d.ts +23 -0
- package/dist/paraglide/messages/ta.js +38 -0
- package/dist/paraglide/messages/te.d.ts +23 -0
- package/dist/paraglide/messages/te.js +38 -0
- package/dist/paraglide/messages/th.d.ts +23 -0
- package/dist/paraglide/messages/th.js +38 -0
- package/dist/paraglide/messages/tl.d.ts +23 -0
- package/dist/paraglide/messages/tl.js +38 -0
- package/dist/paraglide/messages/tr.d.ts +23 -0
- package/dist/paraglide/messages/tr.js +38 -0
- package/dist/paraglide/messages/uk.d.ts +23 -0
- package/dist/paraglide/messages/uk.js +38 -0
- package/dist/paraglide/messages/vi.d.ts +23 -0
- package/dist/paraglide/messages/vi.js +38 -0
- package/dist/paraglide/messages/zh-CN.d.ts +23 -0
- package/dist/paraglide/messages/zh-CN.js +38 -0
- package/dist/paraglide/messages/zh-TW.d.ts +23 -0
- package/dist/paraglide/messages/zh-TW.js +38 -0
- package/dist/paraglide/registry.d.ts +13 -0
- package/dist/paraglide/registry.js +15 -0
- package/dist/paraglide/runtime.d.ts +243 -126
- package/dist/paraglide/runtime.js +473 -148
- package/dist/paraglide/server.d.ts +13 -20
- package/dist/paraglide/server.js +92 -40
- package/dist/stories/ComponentOverview.stories.svelte +533 -0
- package/dist/stories/ComponentOverview.stories.svelte.d.ts +6 -0
- package/dist/themes/tera-ui-base.css +664 -470
- package/dist/themes/theme-ai.css +100 -0
- package/dist/themes/theme-marketing.css +91 -0
- package/dist/themes/theme-professional.css +41 -0
- package/package.json +35 -29
- package/dist/paraglide/messages/text_account_settings.d.ts +0 -4
- package/dist/paraglide/messages/text_account_settings.js +0 -239
- package/dist/paraglide/messages/text_calces_documentation.d.ts +0 -4
- package/dist/paraglide/messages/text_calces_documentation.js +0 -239
- package/dist/paraglide/messages/text_calces_scientific_calculator.d.ts +0 -4
- package/dist/paraglide/messages/text_calces_scientific_calculator.js +0 -239
- package/dist/paraglide/messages/text_currency_converter.d.ts +0 -4
- package/dist/paraglide/messages/text_currency_converter.js +0 -239
- package/dist/paraglide/messages/text_logout.d.ts +0 -4
- package/dist/paraglide/messages/text_logout.js +0 -239
- package/dist/paraglide/messages/text_select_language.d.ts +0 -4
- package/dist/paraglide/messages/text_select_language.js +0 -239
- package/dist/paraglide/messages/text_unit_converter.d.ts +0 -4
- package/dist/paraglide/messages/text_unit_converter.js +0 -239
- package/dist/tera-i18n/projects/tera-system-ui/project.inlang/.meta.json +0 -3
- package/dist/tera-i18n/projects/tera-system-ui/project.inlang/README.md +0 -103
- package/dist/tera-i18n/projects/tera-system-ui/project.inlang/project_id +0 -1
- package/dist/themes/tw-preset.cjs +0 -160
- package/dist/themes/tw-preset.d.cts +0 -157
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { tv } from "tailwind-variants";
|
|
2
2
|
export const styles = tv({
|
|
3
|
-
base: '
|
|
3
|
+
base: 'relative overflow-visible rounded-md inline-flex items-center justify-center leading-tight [&>svg]:stroke-icon select-none outline-none font-normal cursor-pointer transition-[background-color,border-color,box-shadow,transform,opacity] ease-ui duration-150',
|
|
4
4
|
variants: {
|
|
5
5
|
variant: {
|
|
6
|
-
primary: 'bg-primary-600 text-white border border-primary-600 hover:bg-primary-500 hover:border-primary-500 active:
|
|
7
|
-
default: 'bg-
|
|
8
|
-
dashed: 'bg-
|
|
9
|
-
text: 'bg-transparent text-
|
|
10
|
-
link: 'bg-transparent text-
|
|
6
|
+
primary: 'bg-primary-600 text-white border border-primary-600 hover:bg-primary-500 hover:border-primary-500 active:scale-[0.97] shadow-sm hover:shadow-md hover:-translate-y-px',
|
|
7
|
+
default: 'bg-surface-control text-text-primary border border-border-default hover:text-interactive-hover hover:border-interactive-hover active:text-interactive-active active:border-interactive-active active:scale-[0.97]',
|
|
8
|
+
dashed: 'bg-surface-control text-text-primary border border-dashed border-border-default hover:text-interactive-hover hover:border-interactive-hover active:text-interactive-active active:border-interactive-active active:scale-[0.97]',
|
|
9
|
+
text: 'bg-transparent text-text-primary border border-transparent hover:bg-surface-hover active:bg-surface-hover',
|
|
10
|
+
link: 'bg-transparent text-interactive border border-transparent hover:text-interactive-hover active:text-interactive-active px-0',
|
|
11
11
|
},
|
|
12
12
|
size: {
|
|
13
13
|
xs: 'h-5 px-1.5 gap-1 text-xs [&>svg]:size-3',
|
|
@@ -21,7 +21,7 @@ export const styles = tv({
|
|
|
21
21
|
round: 'rounded-full',
|
|
22
22
|
},
|
|
23
23
|
disabled: {
|
|
24
|
-
true: 'bg-
|
|
24
|
+
true: 'bg-surface-sunken text-text-disabled border-border-default pointer-events-none shadow-none cursor-not-allowed',
|
|
25
25
|
},
|
|
26
26
|
loading: {
|
|
27
27
|
true: 'cursor-wait pointer-events-none opacity-65'
|
|
@@ -42,35 +42,35 @@ export const styles = tv({
|
|
|
42
42
|
variant: 'primary',
|
|
43
43
|
danger: true,
|
|
44
44
|
disabled: false,
|
|
45
|
-
class: 'bg-error-
|
|
45
|
+
class: 'bg-error-default border-error-default hover:bg-error-hover hover:border-error-hover active:bg-error-active active:border-error-active'
|
|
46
46
|
},
|
|
47
47
|
// Default danger state
|
|
48
48
|
{
|
|
49
49
|
variant: 'default',
|
|
50
50
|
danger: true,
|
|
51
51
|
disabled: false,
|
|
52
|
-
class: 'text-error-
|
|
52
|
+
class: 'text-error-default border-error-default hover:text-error-hover hover:border-error-hover active:text-error-active active:border-error-active'
|
|
53
53
|
},
|
|
54
54
|
// Dashed danger state
|
|
55
55
|
{
|
|
56
56
|
variant: 'dashed',
|
|
57
57
|
danger: true,
|
|
58
58
|
disabled: false,
|
|
59
|
-
class: 'text-error-
|
|
59
|
+
class: 'text-error-default border-error-default hover:text-error-hover hover:border-error-hover active:text-error-active active:border-error-active'
|
|
60
60
|
},
|
|
61
61
|
// Text danger state
|
|
62
62
|
{
|
|
63
63
|
variant: 'text',
|
|
64
64
|
danger: true,
|
|
65
65
|
disabled: false,
|
|
66
|
-
class: 'text-error-
|
|
66
|
+
class: 'text-error-default hover:bg-error-subtle active:bg-error-muted'
|
|
67
67
|
},
|
|
68
68
|
// Link danger state
|
|
69
69
|
{
|
|
70
70
|
variant: 'link',
|
|
71
71
|
danger: true,
|
|
72
72
|
disabled: false,
|
|
73
|
-
class: 'text-error-
|
|
73
|
+
class: 'text-error-default hover:text-error-hover active:text-error-active'
|
|
74
74
|
},
|
|
75
75
|
// Text disabled state
|
|
76
76
|
{
|
|
@@ -1,48 +1,21 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
...props
|
|
9
|
-
}: ButtonProps = $props();
|
|
10
|
-
|
|
11
|
-
let waveActive = $state(false);
|
|
12
|
-
|
|
13
|
-
// Check if user prefers reduced motion
|
|
14
|
-
const prefersReducedMotion = typeof window !== 'undefined'
|
|
15
|
-
? window.matchMedia('(prefers-reduced-motion: reduce)').matches
|
|
16
|
-
: false;
|
|
17
|
-
|
|
18
|
-
function handleClick(e) {
|
|
19
|
-
if (prefersReducedMotion || disabled || loading) return;
|
|
20
|
-
|
|
21
|
-
onclick?.(e);
|
|
22
|
-
// Trigger wave animation
|
|
23
|
-
waveActive = false;
|
|
24
|
-
// Force reflow to restart animation
|
|
25
|
-
requestAnimationFrame(() => {
|
|
26
|
-
waveActive = true;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function handleAnimationEnd() {
|
|
31
|
-
waveActive = false;
|
|
32
|
-
}
|
|
1
|
+
<script lang="ts">import { styles } from "./Button";
|
|
2
|
+
let { children, disabled, variant = 'default', icon, size = 'md', shape = 'default', danger, loading, block, class: className, ref = $bindable(), onclick, ...props } = $props();
|
|
3
|
+
function handleClick(e) {
|
|
4
|
+
if (disabled || loading)
|
|
5
|
+
return;
|
|
6
|
+
onclick?.(e);
|
|
7
|
+
}
|
|
33
8
|
</script>
|
|
34
9
|
|
|
35
10
|
<button
|
|
36
11
|
bind:this={ref}
|
|
37
12
|
class={styles({ disabled: disabled || loading, variant, icon, size, shape, danger, block, className })}
|
|
38
|
-
class:wave-active={waveActive}
|
|
39
13
|
data-variant={variant}
|
|
40
14
|
data-danger={danger || undefined}
|
|
41
15
|
{...props}
|
|
42
16
|
disabled={disabled || loading}
|
|
43
17
|
aria-busy={loading}
|
|
44
18
|
onclick={handleClick}
|
|
45
|
-
onanimationend={handleAnimationEnd}
|
|
46
19
|
>
|
|
47
20
|
{#if loading}
|
|
48
21
|
<svg class="animate-spin" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type VariantProps } from "tailwind-variants";
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
export declare const styles: import("tailwind-variants").TVReturnType<{
|
|
5
|
+
variant: {
|
|
6
|
+
default: string;
|
|
7
|
+
elevated: string;
|
|
8
|
+
bordered: string;
|
|
9
|
+
ghost: string;
|
|
10
|
+
};
|
|
11
|
+
padding: {
|
|
12
|
+
none: string;
|
|
13
|
+
sm: string;
|
|
14
|
+
md: string;
|
|
15
|
+
lg: string;
|
|
16
|
+
};
|
|
17
|
+
clickable: {
|
|
18
|
+
true: string;
|
|
19
|
+
};
|
|
20
|
+
loading: {
|
|
21
|
+
true: string;
|
|
22
|
+
};
|
|
23
|
+
}, undefined, "relative bg-surface-raised rounded-container transition-[box-shadow,transform] ease-spring duration-200", {
|
|
24
|
+
variant: {
|
|
25
|
+
default: string;
|
|
26
|
+
elevated: string;
|
|
27
|
+
bordered: string;
|
|
28
|
+
ghost: string;
|
|
29
|
+
};
|
|
30
|
+
padding: {
|
|
31
|
+
none: string;
|
|
32
|
+
sm: string;
|
|
33
|
+
md: string;
|
|
34
|
+
lg: string;
|
|
35
|
+
};
|
|
36
|
+
clickable: {
|
|
37
|
+
true: string;
|
|
38
|
+
};
|
|
39
|
+
loading: {
|
|
40
|
+
true: string;
|
|
41
|
+
};
|
|
42
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
43
|
+
variant: {
|
|
44
|
+
default: string;
|
|
45
|
+
elevated: string;
|
|
46
|
+
bordered: string;
|
|
47
|
+
ghost: string;
|
|
48
|
+
};
|
|
49
|
+
padding: {
|
|
50
|
+
none: string;
|
|
51
|
+
sm: string;
|
|
52
|
+
md: string;
|
|
53
|
+
lg: string;
|
|
54
|
+
};
|
|
55
|
+
clickable: {
|
|
56
|
+
true: string;
|
|
57
|
+
};
|
|
58
|
+
loading: {
|
|
59
|
+
true: string;
|
|
60
|
+
};
|
|
61
|
+
}, undefined, "relative bg-surface-raised rounded-container transition-[box-shadow,transform] ease-spring duration-200", unknown, unknown, undefined>>;
|
|
62
|
+
type CardVariants = VariantProps<typeof styles>;
|
|
63
|
+
export interface CardProps extends HTMLAttributes<HTMLDivElement>, CardVariants {
|
|
64
|
+
children?: Snippet;
|
|
65
|
+
class?: string;
|
|
66
|
+
ref?: HTMLDivElement | null;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const styles = tv({
|
|
3
|
+
base: 'relative bg-surface-raised rounded-container transition-[box-shadow,transform] ease-spring duration-200',
|
|
4
|
+
variants: {
|
|
5
|
+
variant: {
|
|
6
|
+
default: 'shadow-sm',
|
|
7
|
+
elevated: 'shadow-md',
|
|
8
|
+
bordered: 'border border-border-default shadow-none',
|
|
9
|
+
ghost: 'bg-transparent shadow-none',
|
|
10
|
+
},
|
|
11
|
+
padding: {
|
|
12
|
+
none: 'p-0',
|
|
13
|
+
sm: 'p-3',
|
|
14
|
+
md: 'p-5',
|
|
15
|
+
lg: 'p-7',
|
|
16
|
+
},
|
|
17
|
+
clickable: {
|
|
18
|
+
true: 'cursor-pointer hover:shadow-md hover:-translate-y-px active:scale-[0.99]',
|
|
19
|
+
},
|
|
20
|
+
loading: {
|
|
21
|
+
true: 'overflow-hidden',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: 'default',
|
|
26
|
+
padding: 'md',
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script lang="ts">import { styles } from './Card.js';
|
|
2
|
+
let { children, class: className, variant, padding, clickable, loading, ref = $bindable(), onclick, ...props } = $props();
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
{#if clickable}
|
|
6
|
+
<button
|
|
7
|
+
bind:this={ref}
|
|
8
|
+
class={styles({ variant, padding, clickable, loading, className })}
|
|
9
|
+
{onclick}
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
{#if loading}
|
|
13
|
+
<div class="absolute inset-0 z-10 flex items-center justify-center bg-surface-raised/80 rounded-container">
|
|
14
|
+
<div class="size-6 rounded-full border-2 border-border-default border-t-interactive animate-spin"></div>
|
|
15
|
+
</div>
|
|
16
|
+
{/if}
|
|
17
|
+
{@render children?.()}
|
|
18
|
+
</button>
|
|
19
|
+
{:else}
|
|
20
|
+
<div
|
|
21
|
+
bind:this={ref}
|
|
22
|
+
class={styles({ variant, padding, clickable, loading, className })}
|
|
23
|
+
{onclick}
|
|
24
|
+
{...props}
|
|
25
|
+
>
|
|
26
|
+
{#if loading}
|
|
27
|
+
<div class="absolute inset-0 z-10 flex items-center justify-center bg-surface-raised/80 rounded-container">
|
|
28
|
+
<div class="size-6 rounded-full border-2 border-border-default border-t-interactive animate-spin"></div>
|
|
29
|
+
</div>
|
|
30
|
+
{/if}
|
|
31
|
+
{@render children?.()}
|
|
32
|
+
</div>
|
|
33
|
+
{/if}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Card } from './Card.svelte';
|
|
@@ -1,11 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @component Checkbox - Accessible checkbox input with label and indeterminate support.
|
|
3
|
+
* Built on BitsUI Checkbox primitive.
|
|
4
|
+
*/
|
|
1
5
|
import { type VariantProps } from "tailwind-variants";
|
|
2
6
|
import type { Snippet } from "svelte";
|
|
3
|
-
import type { HTMLInputAttributes } from "svelte/elements";
|
|
4
7
|
export declare const styles: import("tailwind-variants").TVReturnType<{}, undefined, "", {}, undefined, import("tailwind-variants").TVReturnType<{}, undefined, "", unknown, unknown, undefined>>;
|
|
5
8
|
type CheckboxVariants = VariantProps<typeof styles>;
|
|
6
|
-
export interface CheckboxProps extends
|
|
7
|
-
|
|
9
|
+
export interface CheckboxProps extends CheckboxVariants {
|
|
10
|
+
/** Additional CSS classes for the root element. */
|
|
8
11
|
class?: string;
|
|
9
|
-
|
|
12
|
+
/** Whether the checkbox is checked. Bindable. */
|
|
13
|
+
checked?: boolean;
|
|
14
|
+
/** Whether the checkbox shows an indeterminate (−) state. Bindable. */
|
|
15
|
+
indeterminate?: boolean;
|
|
16
|
+
/** Prevents user interaction and dims the control. */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** Whether the checkbox must be checked before form submission. */
|
|
19
|
+
required?: boolean;
|
|
20
|
+
/** Name attribute used when submitting within a form. */
|
|
21
|
+
name?: string;
|
|
22
|
+
/** Value sent with the form when checked. */
|
|
23
|
+
value?: string;
|
|
24
|
+
/** Called when the checked state changes. */
|
|
25
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
26
|
+
/** Additional content rendered next to the checkbox indicator. */
|
|
27
|
+
children?: Snippet;
|
|
28
|
+
/** Bindable reference to the root button element. */
|
|
29
|
+
ref?: HTMLButtonElement | null;
|
|
30
|
+
[key: string]: unknown;
|
|
10
31
|
}
|
|
11
32
|
export {};
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
let {
|
|
8
|
-
ref = $bindable(null),
|
|
9
|
-
checked = $bindable(false),
|
|
10
|
-
indeterminate = $bindable(false),
|
|
11
|
-
class: className,
|
|
12
|
-
...restProps
|
|
13
|
-
}: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();
|
|
1
|
+
<script lang="ts">import { Checkbox as CheckboxPrimitive } from "bits-ui";
|
|
2
|
+
import { cn } from "../../utils/index.js";
|
|
3
|
+
import IconCheck from "@tabler/icons-svelte/icons/check";
|
|
4
|
+
import IconMinus from "@tabler/icons-svelte/icons/minus";
|
|
5
|
+
let { ref = $bindable(null), checked = $bindable(false), indeterminate = $bindable(false), class: className, disabled, required, name, value, onCheckedChange, ...restProps } = $props();
|
|
14
6
|
</script>
|
|
15
7
|
|
|
16
8
|
<CheckboxPrimitive.Root
|
|
17
9
|
bind:ref
|
|
10
|
+
{disabled}
|
|
11
|
+
{required}
|
|
12
|
+
{name}
|
|
13
|
+
{value}
|
|
14
|
+
{onCheckedChange}
|
|
18
15
|
class={cn(
|
|
19
|
-
"peer box-content size-4 shrink-0 rounded border border-
|
|
20
|
-
"transition-
|
|
16
|
+
"peer box-content size-4 shrink-0 rounded border border-border-default bg-surface-control",
|
|
17
|
+
"transition-[border-color,box-shadow,background-color] ease-ui duration-150",
|
|
21
18
|
"hover:border-primary-500",
|
|
22
|
-
"focus-visible:outline-none focus-visible:shadow-
|
|
19
|
+
"focus-visible:outline-none focus-visible:shadow-focus",
|
|
23
20
|
"data-[state=checked]:bg-primary-600 data-[state=checked]:border-primary-600",
|
|
24
21
|
"data-[state=indeterminate]:bg-primary-600 data-[state=indeterminate]:border-primary-600",
|
|
25
22
|
"disabled:cursor-not-allowed disabled:bg-neutral-token-3 disabled:border-neutral-token-5 disabled:opacity-50",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const Checkbox: import("svelte").Component<
|
|
1
|
+
import type { CheckboxProps } from './Checkbox.js';
|
|
2
|
+
declare const Checkbox: import("svelte").Component<CheckboxProps, {}, "ref" | "checked" | "indeterminate">;
|
|
3
3
|
type Checkbox = ReturnType<typeof Checkbox>;
|
|
4
4
|
export default Checkbox;
|
|
@@ -1,11 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @component Combobox - Searchable dropdown with single and multi-select support.
|
|
3
|
+
* Built on BitsUI Combobox primitive with client-side filtering.
|
|
4
|
+
*/
|
|
5
|
+
export interface ComboboxItem {
|
|
6
|
+
/** Unique value submitted or passed to onchange. */
|
|
7
|
+
value: string;
|
|
8
|
+
/** Human-readable label shown in the list and trigger. */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Prevents selecting this item. */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ComboboxProps {
|
|
14
|
+
/** Whether one or many items can be selected at once. */
|
|
15
|
+
type: 'single' | 'multiple';
|
|
16
|
+
/** List of selectable options. */
|
|
17
|
+
items: ComboboxItem[];
|
|
18
|
+
/** Currently selected value(s). Bindable. */
|
|
19
|
+
value?: string | string[];
|
|
20
|
+
/** Placeholder shown in the search input when nothing is selected. */
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
/** Prevents all interaction. */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Whether keyboard navigation wraps at the list boundaries. */
|
|
25
|
+
loop?: boolean;
|
|
26
|
+
/** Allow deselecting the current value by clicking it again (single mode only). */
|
|
27
|
+
allowDeselect?: boolean;
|
|
28
|
+
/** Called when the selection changes. */
|
|
29
|
+
onchange?: (value: string | string[]) => void;
|
|
30
|
+
/** Additional CSS classes for the root container. */
|
|
8
31
|
class?: string;
|
|
9
|
-
|
|
32
|
+
/** Bindable reference to the trigger element. */
|
|
33
|
+
ref?: HTMLElement | null;
|
|
34
|
+
/** Name for the hidden form input, enabling native form submission. */
|
|
35
|
+
name?: string;
|
|
36
|
+
/** Marks the field as required for form validation. */
|
|
37
|
+
required?: boolean;
|
|
38
|
+
/** Scroll alignment for the highlighted item. */
|
|
39
|
+
scrollAlignment?: 'nearest' | 'center';
|
|
40
|
+
/**
|
|
41
|
+
* When true (single mode only), whatever the user types becomes the
|
|
42
|
+
* combobox value directly — like a text input with suggestions.
|
|
43
|
+
* Selecting an item from the list still sets its item.value as normal.
|
|
44
|
+
*/
|
|
45
|
+
freeInput?: boolean;
|
|
46
|
+
[key: string]: unknown;
|
|
10
47
|
}
|
|
11
|
-
export {};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
defaultVariants: {},
|
|
7
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* @component Combobox - Searchable dropdown with single and multi-select support.
|
|
3
|
+
* Built on BitsUI Combobox primitive with client-side filtering.
|
|
4
|
+
*/
|
|
5
|
+
export {};
|