tera-system-ui 0.1.64 → 0.1.66
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/text_account_settings.d.ts +14 -2
- package/dist/paraglide/messages/text_account_settings.js +53 -58
- package/dist/paraglide/messages/text_calces_documentation.d.ts +14 -2
- package/dist/paraglide/messages/text_calces_documentation.js +53 -58
- package/dist/paraglide/messages/text_calces_scientific_calculator.d.ts +14 -2
- package/dist/paraglide/messages/text_calces_scientific_calculator.js +53 -58
- package/dist/paraglide/messages/text_currency_converter.d.ts +14 -2
- package/dist/paraglide/messages/text_currency_converter.js +53 -58
- package/dist/paraglide/messages/text_logout.d.ts +14 -2
- package/dist/paraglide/messages/text_logout.js +53 -58
- package/dist/paraglide/messages/text_select_language.d.ts +14 -2
- package/dist/paraglide/messages/text_select_language.js +53 -58
- package/dist/paraglide/messages/text_unit_converter.d.ts +14 -2
- package/dist/paraglide/messages/text_unit_converter.js +53 -58
- 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 +242 -77
- 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/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
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Alert
|
|
2
|
+
|
|
3
|
+
Contextual alert banner for status messages.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Alert } from 'tera-system-ui';
|
|
8
|
+
|
|
9
|
+
## Alert
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
Name Type Required
|
|
14
|
+
──────────────────────────────────────────────────────────────────────────
|
|
15
|
+
variant AlertVariant optional
|
|
16
|
+
title string optional
|
|
17
|
+
description string | Snippet optional
|
|
18
|
+
closable boolean optional
|
|
19
|
+
icon boolean optional
|
|
20
|
+
children Snippet optional
|
|
21
|
+
class string optional
|
|
22
|
+
|
|
23
|
+
### Usage
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
import { Alert } from 'tera-system-ui';
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<Alert>Content</Alert>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Avatar
|
|
2
|
+
|
|
3
|
+
User avatar with image, initials fallback, and size variants.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Avatar } from 'tera-system-ui';
|
|
8
|
+
import { Avatar } from 'tera-system-ui/avatar'; // subpath
|
|
9
|
+
|
|
10
|
+
## Avatar
|
|
11
|
+
|
|
12
|
+
### Props
|
|
13
|
+
|
|
14
|
+
Name Type Required
|
|
15
|
+
──────────────────────────────────────────────────────────────────────────
|
|
16
|
+
size sm | md | lg | xl optional (default: md)
|
|
17
|
+
border boolean optional
|
|
18
|
+
children Snippet optional
|
|
19
|
+
class string optional
|
|
20
|
+
alt string optional
|
|
21
|
+
src string optional
|
|
22
|
+
ref HTMLDivElement optional (bindable)
|
|
23
|
+
userUid string optional
|
|
24
|
+
apiUrl string optional
|
|
25
|
+
|
|
26
|
+
### Usage
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
import { Avatar } from 'tera-system-ui';
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<Avatar>Content</Avatar>
|
|
33
|
+
<Avatar size="sm">Content</Avatar>
|
|
34
|
+
<Avatar border>Content</Avatar>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Badge
|
|
2
|
+
|
|
3
|
+
Compact label for counts, status, or categories.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Badge } from 'tera-system-ui';
|
|
8
|
+
|
|
9
|
+
## Badge
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
Name Type Required
|
|
14
|
+
──────────────────────────────────────────────────────────────────────────
|
|
15
|
+
variant default | primary | success | error... optional (default: default)
|
|
16
|
+
size sm | md optional (default: md)
|
|
17
|
+
children Snippet optional
|
|
18
|
+
class string optional
|
|
19
|
+
dot boolean optional
|
|
20
|
+
closable boolean optional
|
|
21
|
+
onclose () => void optional
|
|
22
|
+
|
|
23
|
+
### Usage
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
import { Badge } from 'tera-system-ui';
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<Badge>Content</Badge>
|
|
30
|
+
<Badge variant="primary">Content</Badge>
|
|
31
|
+
<Badge size="sm">Content</Badge>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# BrandLogo
|
|
2
|
+
|
|
3
|
+
Brand logo component for consistent identity display.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { BrandLogo } from 'tera-system-ui';
|
|
8
|
+
import { BrandLogo } from 'tera-system-ui/brand-logo'; // subpath
|
|
9
|
+
|
|
10
|
+
## BrandLogo
|
|
11
|
+
|
|
12
|
+
### Props
|
|
13
|
+
|
|
14
|
+
Name Type Required
|
|
15
|
+
──────────────────────────────────────────────────────────────────────────
|
|
16
|
+
theme light | dark | auto optional (default: auto)
|
|
17
|
+
shape square optional
|
|
18
|
+
children Snippet optional
|
|
19
|
+
class string optional
|
|
20
|
+
ref HTMLDivElement optional (bindable)
|
|
21
|
+
|
|
22
|
+
### Usage
|
|
23
|
+
|
|
24
|
+
<script>
|
|
25
|
+
import { BrandLogo } from 'tera-system-ui';
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<BrandLogo>Content</BrandLogo>
|
|
29
|
+
<BrandLogo theme="light">Content</BrandLogo>
|
|
30
|
+
<BrandLogo shape="square">Content</BrandLogo>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
|
|
3
|
+
Interactive button with variants, sizes, loading state, danger mode, and wave animation.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Button } from 'tera-system-ui';
|
|
8
|
+
import { Button } from 'tera-system-ui/button'; // subpath
|
|
9
|
+
|
|
10
|
+
## Button
|
|
11
|
+
|
|
12
|
+
### Props
|
|
13
|
+
|
|
14
|
+
Name Type Required
|
|
15
|
+
──────────────────────────────────────────────────────────────────────────
|
|
16
|
+
variant primary | default | dashed | text |... optional (default: default)
|
|
17
|
+
size xs | sm | md | lg optional (default: md)
|
|
18
|
+
shape default | circle | round optional (default: default)
|
|
19
|
+
disabled boolean optional
|
|
20
|
+
loading boolean optional
|
|
21
|
+
icon boolean optional
|
|
22
|
+
danger boolean optional
|
|
23
|
+
block boolean optional
|
|
24
|
+
children Snippet optional
|
|
25
|
+
class string optional
|
|
26
|
+
ref HTMLButtonElement optional (bindable)
|
|
27
|
+
|
|
28
|
+
### Usage
|
|
29
|
+
|
|
30
|
+
<script>
|
|
31
|
+
import { Button } from 'tera-system-ui';
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<Button>Content</Button>
|
|
35
|
+
<Button variant="primary">Content</Button>
|
|
36
|
+
<Button size="xs">Content</Button>
|
|
37
|
+
<Button shape="circle">Content</Button>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Card
|
|
2
|
+
|
|
3
|
+
Content container with elevation, border, and padding variants.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Card } from 'tera-system-ui';
|
|
8
|
+
|
|
9
|
+
## Card
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
Name Type Required
|
|
14
|
+
──────────────────────────────────────────────────────────────────────────
|
|
15
|
+
variant default | elevated | bordered | ghost optional (default: default)
|
|
16
|
+
padding none | sm | md | lg optional (default: md)
|
|
17
|
+
clickable boolean optional
|
|
18
|
+
loading boolean optional
|
|
19
|
+
children Snippet optional
|
|
20
|
+
class string optional
|
|
21
|
+
ref HTMLDivElement optional (bindable)
|
|
22
|
+
|
|
23
|
+
### Usage
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
import { Card } from 'tera-system-ui';
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<Card>Content</Card>
|
|
30
|
+
<Card variant="elevated">Content</Card>
|
|
31
|
+
<Card padding="none">Content</Card>
|
|
32
|
+
<Card clickable>Content</Card>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Checkbox
|
|
2
|
+
|
|
3
|
+
Checkbox input with label and indeterminate support.
|
|
4
|
+
|
|
5
|
+
Built on BitsUI Checkbox primitive.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
import { Checkbox } from 'tera-system-ui';
|
|
10
|
+
import { Checkbox } from 'tera-system-ui/checkbox'; // subpath
|
|
11
|
+
|
|
12
|
+
## Checkbox
|
|
13
|
+
|
|
14
|
+
### Props
|
|
15
|
+
|
|
16
|
+
Name Type Required
|
|
17
|
+
──────────────────────────────────────────────────────────────────────────
|
|
18
|
+
class string optional Additional CSS classes for the root element.
|
|
19
|
+
checked boolean optional Whether the checkbox is checked. Bindable.
|
|
20
|
+
indeterminate boolean optional Whether the checkbox shows an indeterminate (−) state. Bindable.
|
|
21
|
+
disabled boolean optional Prevents user interaction and dims the control.
|
|
22
|
+
required boolean optional Whether the checkbox must be checked before form submission.
|
|
23
|
+
name string optional Name attribute used when submitting within a form.
|
|
24
|
+
value string optional Value sent with the form when checked.
|
|
25
|
+
onCheckedChange (checked: boolean) => void optional Called when the checked state changes.
|
|
26
|
+
children Snippet optional Additional content rendered next to the checkbox indicator.
|
|
27
|
+
ref HTMLButtonElement optional Bindable reference to the root button element.
|
|
28
|
+
|
|
29
|
+
### Usage
|
|
30
|
+
|
|
31
|
+
<script>
|
|
32
|
+
import { Checkbox } from 'tera-system-ui';
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<Checkbox>Content</Checkbox>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Color & Token System
|
|
2
|
+
|
|
3
|
+
Reference for the tera-system-ui design token system.
|
|
4
|
+
Always use semantic tokens in components — never primitive shades.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Naming Convention
|
|
9
|
+
|
|
10
|
+
{role}-{modifier}
|
|
11
|
+
|
|
12
|
+
Influenced by: Ant Design 5 (state modifiers), GitHub Primer (subtle/muted prominence
|
|
13
|
+
scale), shadcn/ui (CSS-variable-as-utility, "default" for resting state).
|
|
14
|
+
|
|
15
|
+
Prominence scale (lightest → darkest):
|
|
16
|
+
subtle → muted → default → hover → active
|
|
17
|
+
|
|
18
|
+
* = auto dark-mode: defined in both :root and :root.dark — no dark: prefix needed
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Semantic Tokens — Surfaces
|
|
23
|
+
|
|
24
|
+
Tailwind utility CSS variable Primitive Role
|
|
25
|
+
─────────────────────────────────────────────────────────────────────────
|
|
26
|
+
bg-surface --color-surface #FFFFFF Page / app background
|
|
27
|
+
bg-surface-raised --color-surface-raised #FCFCFC Cards, panels
|
|
28
|
+
bg-surface-sunken --color-surface-sunken #F5F5F5 Inputs (filled), disabled areas
|
|
29
|
+
bg-surface-hover --color-surface-hover #F0F0F0 Hover / pressed neutral bg
|
|
30
|
+
bg-surface-control --color-surface-control #FFFFFF Interactive controls (button, input outlined, checkbox, select, slider)
|
|
31
|
+
Light: same as page (white). Dark: elevated gray — sits above both page and dialogs.
|
|
32
|
+
Use this instead of bg-surface for any interactive control background.
|
|
33
|
+
|
|
34
|
+
## Semantic Tokens — Borders
|
|
35
|
+
|
|
36
|
+
Tailwind utility CSS variable Primitive Role
|
|
37
|
+
─────────────────────────────────────────────────────────────────────────
|
|
38
|
+
border-border-default --color-border-default #D9D9D9 Default border
|
|
39
|
+
border-border-strong --color-border-strong #BFBFBF Focus ring, separator
|
|
40
|
+
|
|
41
|
+
## Semantic Tokens — Text
|
|
42
|
+
|
|
43
|
+
Tailwind utility CSS variable Primitive Role
|
|
44
|
+
─────────────────────────────────────────────────────────────────────────
|
|
45
|
+
text-text-primary --color-text-primary #000000 Body text, headings
|
|
46
|
+
text-text-secondary --color-text-secondary #595959 Supporting / label text
|
|
47
|
+
text-text-tertiary --color-text-tertiary #8C8C8C Placeholders, hints
|
|
48
|
+
text-text-disabled --color-text-disabled #BFBFBF Disabled labels
|
|
49
|
+
|
|
50
|
+
## Semantic Tokens — Interactive (primary action)
|
|
51
|
+
|
|
52
|
+
hover DARKENS for text/border elements (goes 500 → 600 → 700)
|
|
53
|
+
|
|
54
|
+
Tailwind utility CSS variable Primitive Role
|
|
55
|
+
──────────────────────────────────────────────────────────────────────────────
|
|
56
|
+
text-interactive --color-interactive primary-500 Base link/CTA
|
|
57
|
+
text-interactive-hover --color-interactive-hover primary-600 Hover: darker
|
|
58
|
+
text-interactive-active --color-interactive-active primary-700 Pressed: darkest
|
|
59
|
+
bg-interactive-subtle --color-interactive-subtle primary-50 Ghost bg, tint
|
|
60
|
+
border-interactive-border --color-interactive-border primary-200 Subtle border on tinted bg
|
|
61
|
+
text-interactive-text --color-interactive-text primary-700 Text on tinted bg
|
|
62
|
+
|
|
63
|
+
Note: for the primary filled button bg, use bg-primary-600 directly.
|
|
64
|
+
It reads from --color-primary-600 and responds to theme changes.
|
|
65
|
+
|
|
66
|
+
text-interactive-on --color-interactive-on #ffffff Text / icon ON a filled interactive bg
|
|
67
|
+
bg-overlay --color-overlay black/0.25 Modal / drawer backdrop scrim (dark mode: black/0.5)
|
|
68
|
+
|
|
69
|
+
## Semantic Tokens — Status (error / warning / success / information)
|
|
70
|
+
|
|
71
|
+
hover LIGHTENS (400 < 500) — softens the state on approach.
|
|
72
|
+
Tokens marked * adapt automatically in dark mode.
|
|
73
|
+
|
|
74
|
+
Pattern (same for all four statuses):
|
|
75
|
+
|
|
76
|
+
Tailwind utility Role
|
|
77
|
+
────────────────────────────────────────────────────────
|
|
78
|
+
bg-{status}-subtle * Very light tint background
|
|
79
|
+
bg-{status}-muted * Medium tint / pressed bg
|
|
80
|
+
border-{status}-border* Subtle border stroke
|
|
81
|
+
border-{status}-hover Lighter hover (approach)
|
|
82
|
+
bg-{status}-default Main status color (bg)
|
|
83
|
+
text-{status}-default Main status color (text)
|
|
84
|
+
border-{status}-default Main status color (border)
|
|
85
|
+
bg-{status}-active Pressed / active (stronger)
|
|
86
|
+
text-{status}-text * Readable text on light bg
|
|
87
|
+
|
|
88
|
+
Example — Error:
|
|
89
|
+
bg-error-subtle alert / tag tint bg (dark: error-900)
|
|
90
|
+
text-error-text label text on tinted bg (dark: error-400)
|
|
91
|
+
border-error-default input border in error state
|
|
92
|
+
border-error-hover input border hover in error state
|
|
93
|
+
bg-error-default filled destructive button bg
|
|
94
|
+
bg-error-hover filled destructive hover bg
|
|
95
|
+
bg-error-active filled destructive pressed bg
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Primitive Color Palettes
|
|
100
|
+
|
|
101
|
+
Use semantic tokens above. Reference these only when no semantic equivalent exists.
|
|
102
|
+
|
|
103
|
+
### Neutral scale (inverts in dark mode)
|
|
104
|
+
|
|
105
|
+
neutral-token-1 = #FFFFFF (white — page background)
|
|
106
|
+
neutral-token-2 = #FCFCFC
|
|
107
|
+
neutral-token-3 = #F5F5F5 (input / disabled bg)
|
|
108
|
+
neutral-token-4 = #F0F0F0 (hover state bg)
|
|
109
|
+
neutral-token-5 = #D9D9D9 (default border)
|
|
110
|
+
neutral-token-6 = #BFBFBF (focus border / disabled text)
|
|
111
|
+
neutral-token-7 = #8C8C8C (placeholder / hint)
|
|
112
|
+
neutral-token-8 = #595959 (secondary text)
|
|
113
|
+
neutral-token-13 = #000000 (primary text)
|
|
114
|
+
|
|
115
|
+
### Primary (brand blue — changes per theme)
|
|
116
|
+
|
|
117
|
+
primary-50 … primary-900 (light → dark blue)
|
|
118
|
+
Base theme: primary-500 = #3B82F6, primary-600 = #2563EB, primary-700 = #1D4ED8
|
|
119
|
+
|
|
120
|
+
### Status palettes (50 → 900)
|
|
121
|
+
|
|
122
|
+
error-* Red — destructive actions, validation failures
|
|
123
|
+
warning-* Orange — caution, soft warnings
|
|
124
|
+
success-* Green — confirmation, completion
|
|
125
|
+
information-* Sky blue — informational, neutral status
|
|
126
|
+
secondary-* Pink/rose — secondary accent
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Per-Theme Accent Colors
|
|
131
|
+
|
|
132
|
+
Each theme may override `--color-secondary-*` to express a unique accent personality.
|
|
133
|
+
Components using `bg-secondary-*` / `text-secondary-*` utilities pick this up automatically.
|
|
134
|
+
|
|
135
|
+
Theme Secondary color Purpose
|
|
136
|
+
──────────────────────────────────────────────────────
|
|
137
|
+
Base Pink / rose-500 Default secondary
|
|
138
|
+
AI Cyan-500 Pairs with violet primary; authentic AI aesthetic
|
|
139
|
+
Marketing Rose-500 Editorial pop; distinct from brand blue
|
|
140
|
+
Professional (inherited) Default pink
|
|
141
|
+
|
|
142
|
+
Use `text-secondary-500`, `bg-secondary-50`, `border-secondary-200` etc. as you would
|
|
143
|
+
any other semantic scale — the theme's accent automatically flows through.
|
|
144
|
+
|
|
145
|
+
## Dark Mode
|
|
146
|
+
|
|
147
|
+
All neutral surface, text, and border tokens auto-invert in :root.dark.
|
|
148
|
+
Status subtle/muted/border/text tokens also adapt automatically.
|
|
149
|
+
Components using only semantic tokens require zero dark: prefix classes.
|
|
150
|
+
|
|
151
|
+
AI and Marketing dark modes use hue-tinted elevation steps and colored shadows
|
|
152
|
+
(violet for AI, navy-blue for Marketing) to create an atmospheric feel.
|
|
153
|
+
The base dark mode uses near-black (#090909) instead of pure black for less harshness.
|
|
154
|
+
|
|
155
|
+
## Tailwind Utility Pattern
|
|
156
|
+
|
|
157
|
+
bg-surface → background-color: var(--color-surface)
|
|
158
|
+
text-text-primary → color: var(--color-text-primary)
|
|
159
|
+
border-border-default → border-color: var(--color-border-default)
|
|
160
|
+
bg-error-subtle → background-color: var(--color-error-subtle)
|
|
161
|
+
text-error-text → color: var(--color-error-text)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Combobox
|
|
2
|
+
|
|
3
|
+
Searchable combo-box with autocomplete.
|
|
4
|
+
|
|
5
|
+
Built on BitsUI Combobox primitive with client-side filtering.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
import { Combobox } from 'tera-system-ui';
|
|
10
|
+
import { Combobox } from 'tera-system-ui/combobox'; // subpath
|
|
11
|
+
|
|
12
|
+
## Combobox
|
|
13
|
+
|
|
14
|
+
### Props
|
|
15
|
+
|
|
16
|
+
Name Type Required
|
|
17
|
+
──────────────────────────────────────────────────────────────────────────
|
|
18
|
+
type 'single' | 'multiple' required Whether one or many items can be selected at once.
|
|
19
|
+
items ComboboxItem[] required List of selectable options.
|
|
20
|
+
value string | string[] optional Currently selected value(s). Bindable.
|
|
21
|
+
placeholder string optional Placeholder shown in the search input when nothing is selected.
|
|
22
|
+
disabled boolean optional Prevents all interaction.
|
|
23
|
+
loop boolean optional Whether keyboard navigation wraps at the list boundaries.
|
|
24
|
+
allowDeselect boolean optional Allow deselecting the current value by clicking it again (single mode only).
|
|
25
|
+
onchange (value: string | string[]) => void optional Called when the selection changes.
|
|
26
|
+
class string optional Additional CSS classes for the root container.
|
|
27
|
+
ref HTMLElement optional Bindable reference to the trigger element.
|
|
28
|
+
name string optional Name for the hidden form input, enabling native form submission.
|
|
29
|
+
required boolean optional Marks the field as required for form validation.
|
|
30
|
+
scrollAlignment 'nearest' | 'center' optional Scroll alignment for the highlighted item.
|
|
31
|
+
freeInput boolean optional When true (single mode only), whatever the user types becomes the combobox value directly — like a text input with suggestions. Selecting an item from the list still sets its item.value as normal.
|
|
32
|
+
|
|
33
|
+
### Usage
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
import { Combobox } from 'tera-system-ui';
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<Combobox />
|
|
40
|
+
<Combobox onchange={(v) => console.log(v)} />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# DateRangePicker
|
|
2
|
+
|
|
3
|
+
Date range picker with quick-select presets, optional time support, and popover/drawer UI.
|
|
4
|
+
|
|
5
|
+
Built on BitsUI RangeCalendar and Popover primitives.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
import { DateRangePicker } from 'tera-system-ui';
|
|
10
|
+
|
|
11
|
+
## DateRangePicker
|
|
12
|
+
|
|
13
|
+
### Props
|
|
14
|
+
|
|
15
|
+
Name Type Required
|
|
16
|
+
──────────────────────────────────────────────────────────────────────────
|
|
17
|
+
dateRange Date[] optional The currently selected date range as a two-element array [start, end]. Bindable.
|
|
18
|
+
onchange (date: Date[]) => void optional Called when the user applies a new date range.
|
|
19
|
+
enableTime boolean optional When true, shows hour and minute pickers alongside the calendar.
|
|
20
|
+
placeholder string optional Placeholder text shown in the trigger when no range is selected.
|
|
21
|
+
disabled boolean optional Prevents all interaction.
|
|
22
|
+
class string optional Additional CSS classes for the trigger button.
|
|
23
|
+
minValue CalendarDate optional Earliest selectable date. Use `import { CalendarDate } from '@internationalized/date'` to construct values.
|
|
24
|
+
maxValue CalendarDate optional Latest selectable date. Use `import { CalendarDate } from '@internationalized/date'` to construct values.
|
|
25
|
+
isDateDisabled (date: CalendarDate) => boolean optional Returns true for dates that should be shown as disabled and unselectable.
|
|
26
|
+
numberOfMonths 1 | 2 optional Number of calendar months shown side-by-side (desktop only). Defaults to 2.
|
|
27
|
+
weekStartsOn 0 | 1 | 2 | 3 | 4 | 5 | 6 optional Day of the week the calendar grid starts on. 0 = Sunday, 1 = Monday, … 6 = Saturday.
|
|
28
|
+
|
|
29
|
+
### Usage
|
|
30
|
+
|
|
31
|
+
<script>
|
|
32
|
+
import { DateRangePicker } from 'tera-system-ui';
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<DateRangePicker />
|
|
36
|
+
<DateRangePicker onchange={(v) => console.log(v)} />
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Dialog
|
|
2
|
+
|
|
3
|
+
Modal dialog with header/footer snippet slots, size variants, and focus management.
|
|
4
|
+
|
|
5
|
+
Built on BitsUI Dialog primitive.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
import { Dialog } from 'tera-system-ui';
|
|
10
|
+
import { Dialog } from 'tera-system-ui/dialog'; // subpath
|
|
11
|
+
|
|
12
|
+
## Dialog
|
|
13
|
+
|
|
14
|
+
### Props
|
|
15
|
+
|
|
16
|
+
Name Type Required
|
|
17
|
+
──────────────────────────────────────────────────────────────────────────
|
|
18
|
+
children Snippet optional
|
|
19
|
+
header Snippet optional Snippet rendered in the dialog header area.
|
|
20
|
+
footer Snippet optional Snippet rendered in the dialog footer area.
|
|
21
|
+
open boolean optional Whether the dialog is open. Bindable.
|
|
22
|
+
class string optional Additional CSS classes for the dialog content panel.
|
|
23
|
+
size 'xs' | 'sm' | 'md' | 'lg' | 'full' ... optional Controls the maximum width of the dialog panel.
|
|
24
|
+
position 'top' | 'center' optional Vertical alignment of the dialog on screen.
|
|
25
|
+
padding 'none' optional Set to 'none' to remove internal padding.
|
|
26
|
+
closeOnClickOutside boolean optional Whether clicking the backdrop closes the dialog.
|
|
27
|
+
closeButton boolean optional Whether to render a close (×) button in the header.
|
|
28
|
+
staticRender boolean optional When true the dialog DOM is kept alive after close — children preserve internal state between open/close cycles.
|
|
29
|
+
preventScroll boolean optional Prevent the page from scrolling while the dialog is open.
|
|
30
|
+
onOpenChangeComplete (open: boolean) => void optional Called after the open or close animation has fully completed. Note: This callback only fires when the internal component mutates the open state, not when the state is changed by outside)
|
|
31
|
+
triggerRef HTMLElement optional Element to return focus to when the dialog closes.
|
|
32
|
+
focusTriggerAfterClose boolean optional Focus triggerRef after close (default true when triggerRef is provided).
|
|
33
|
+
containerClass string optional Additional classes applied to the outer container div.
|
|
34
|
+
headerClass string optional Additional classes applied to the header region.
|
|
35
|
+
bodyClass string optional Additional classes applied to the body/content region.
|
|
36
|
+
footerClass string optional Additional classes applied to the footer region.
|
|
37
|
+
ref HTMLElement optional Bindable reference to the dialog content element.
|
|
38
|
+
|
|
39
|
+
### Usage
|
|
40
|
+
|
|
41
|
+
<script>
|
|
42
|
+
import { Dialog } from 'tera-system-ui';
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<Dialog>Content</Dialog>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Drawer
|
|
2
|
+
|
|
3
|
+
Side drawer that slides in from the screen edge.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { Drawer } from 'tera-system-ui';
|
|
8
|
+
|
|
9
|
+
## Drawer
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
Name Type Required
|
|
14
|
+
──────────────────────────────────────────────────────────────────────────
|
|
15
|
+
open boolean optional
|
|
16
|
+
side DrawerSide optional
|
|
17
|
+
size DrawerSize optional
|
|
18
|
+
closeOnClickOutside boolean optional
|
|
19
|
+
header Snippet optional
|
|
20
|
+
footer Snippet optional
|
|
21
|
+
children Snippet optional
|
|
22
|
+
onclose () => void optional
|
|
23
|
+
|
|
24
|
+
### Usage
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
import { Drawer } from 'tera-system-ui';
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<Drawer>Content</Drawer>
|