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,50 @@
|
|
|
1
|
+
<script lang="ts">import { toast } from './toast.svelte.js';
|
|
2
|
+
const accentColor = {
|
|
3
|
+
success: 'bg-success-500',
|
|
4
|
+
error: 'bg-error-500',
|
|
5
|
+
info: 'bg-information-500',
|
|
6
|
+
warning: 'bg-warning-500',
|
|
7
|
+
};
|
|
8
|
+
const iconSymbol = {
|
|
9
|
+
success: '✓', error: '✕', info: 'ℹ', warning: '⚠',
|
|
10
|
+
};
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
aria-live="polite"
|
|
15
|
+
aria-label="Notifications"
|
|
16
|
+
class="fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-sm:right-1/2 max-sm:translate-x-1/2"
|
|
17
|
+
>
|
|
18
|
+
{#each toast.items as item (item.id)}
|
|
19
|
+
<div
|
|
20
|
+
class="flex items-start gap-3 min-w-[280px] max-w-sm bg-surface-raised rounded-container shadow-lg border border-border-default overflow-hidden animate-in slide-in-from-bottom-4 fade-in duration-300 ease-spring"
|
|
21
|
+
>
|
|
22
|
+
<div class="w-1 self-stretch shrink-0 {accentColor[item.variant]}"></div>
|
|
23
|
+
<div class="flex-1 py-3 pr-3">
|
|
24
|
+
<p class="text-sm font-medium text-text-primary flex items-center gap-1.5">
|
|
25
|
+
<span class="text-xs">{iconSymbol[item.variant]}</span>
|
|
26
|
+
{item.message}
|
|
27
|
+
</p>
|
|
28
|
+
{#if item.description}
|
|
29
|
+
<p class="text-xs text-text-secondary mt-0.5">{item.description}</p>
|
|
30
|
+
{/if}
|
|
31
|
+
{#if item.action}
|
|
32
|
+
<button
|
|
33
|
+
class="mt-1.5 text-xs font-semibold text-interactive hover:underline"
|
|
34
|
+
onclick={item.action.onclick}
|
|
35
|
+
>{item.action.label}</button>
|
|
36
|
+
{/if}
|
|
37
|
+
</div>
|
|
38
|
+
<button
|
|
39
|
+
type="button"
|
|
40
|
+
class="p-3 text-text-tertiary hover:text-text-primary transition-colors"
|
|
41
|
+
onclick={() => toast.remove(item.id)}
|
|
42
|
+
aria-label="Close"
|
|
43
|
+
>
|
|
44
|
+
<svg class="size-3.5" viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="1.5">
|
|
45
|
+
<path d="M2 2l10 10M12 2l-10 10"/>
|
|
46
|
+
</svg>
|
|
47
|
+
</button>
|
|
48
|
+
</div>
|
|
49
|
+
{/each}
|
|
50
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
+
$$bindings?: Bindings;
|
|
4
|
+
} & Exports;
|
|
5
|
+
(internal: unknown, props: {
|
|
6
|
+
$$events?: Events;
|
|
7
|
+
$$slots?: Slots;
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
12
|
+
z_$$bindings?: Bindings;
|
|
13
|
+
}
|
|
14
|
+
declare const ToastContainer: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
}, {}, {}, string>;
|
|
17
|
+
type ToastContainer = InstanceType<typeof ToastContainer>;
|
|
18
|
+
export default ToastContainer;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type ToastVariant = 'success' | 'error' | 'info' | 'warning';
|
|
2
|
+
export interface ToastItem {
|
|
3
|
+
id: string;
|
|
4
|
+
variant: ToastVariant;
|
|
5
|
+
message: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
duration?: number;
|
|
8
|
+
action?: {
|
|
9
|
+
label: string;
|
|
10
|
+
onclick: () => void;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
declare function remove(id: string): void;
|
|
14
|
+
export declare const toast: {
|
|
15
|
+
readonly items: ToastItem[];
|
|
16
|
+
success: (msg: string, opts?: Omit<ToastItem, "id" | "variant" | "message">) => void;
|
|
17
|
+
error: (msg: string, opts?: Omit<ToastItem, "id" | "variant" | "message">) => void;
|
|
18
|
+
info: (msg: string, opts?: Omit<ToastItem, "id" | "variant" | "message">) => void;
|
|
19
|
+
warning: (msg: string, opts?: Omit<ToastItem, "id" | "variant" | "message">) => void;
|
|
20
|
+
remove: typeof remove;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
let items = $state([]);
|
|
2
|
+
function add(variant, message, opts = {}) {
|
|
3
|
+
const id = crypto.randomUUID();
|
|
4
|
+
const item = { id, variant, message, duration: 4000, ...opts };
|
|
5
|
+
items = [...items.slice(-2), item];
|
|
6
|
+
setTimeout(() => remove(id), item.duration);
|
|
7
|
+
}
|
|
8
|
+
function remove(id) {
|
|
9
|
+
items = items.filter(t => t.id !== id);
|
|
10
|
+
}
|
|
11
|
+
export const toast = {
|
|
12
|
+
get items() { return items; },
|
|
13
|
+
success: (msg, opts) => add('success', msg, opts),
|
|
14
|
+
error: (msg, opts) => add('error', msg, opts),
|
|
15
|
+
info: (msg, opts) => add('info', msg, opts),
|
|
16
|
+
warning: (msg, opts) => add('warning', msg, opts),
|
|
17
|
+
remove,
|
|
18
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @component Tooltip - Floating label shown on hover or keyboard focus.
|
|
3
|
+
* Built on BitsUI Tooltip primitive with portal rendering.
|
|
4
|
+
*/
|
|
5
|
+
import type { Snippet } from "svelte";
|
|
6
|
+
export interface TooltipProps {
|
|
7
|
+
/** Tooltip content — a plain string or a Svelte snippet for rich markup. */
|
|
8
|
+
content: string | Snippet;
|
|
9
|
+
/** Which side of the trigger the tooltip appears on. */
|
|
10
|
+
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
11
|
+
/** Alignment of the tooltip along the chosen side. */
|
|
12
|
+
align?: 'start' | 'center' | 'end';
|
|
13
|
+
/** Distance in pixels between the trigger element and the tooltip panel. */
|
|
14
|
+
sideOffset?: number;
|
|
15
|
+
/** Delay in milliseconds before the tooltip appears after hover/focus. */
|
|
16
|
+
delay?: number;
|
|
17
|
+
/** Prevents the tooltip from ever opening. */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** The element that triggers the tooltip on hover/focus. */
|
|
20
|
+
children?: Snippet;
|
|
21
|
+
/** Additional CSS classes for the trigger wrapper span. */
|
|
22
|
+
class?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script lang="ts">import { Tooltip as TooltipPrimitive } from 'bits-ui';
|
|
2
|
+
let { content, side = 'top', align = 'center', sideOffset = 6, delay = 500, disabled, children, class: className = '', } = $props();
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<TooltipPrimitive.Provider delayDuration={delay}>
|
|
6
|
+
<TooltipPrimitive.Root {disabled}>
|
|
7
|
+
<TooltipPrimitive.Trigger class="inline-flex {className}">
|
|
8
|
+
{@render children?.()}
|
|
9
|
+
</TooltipPrimitive.Trigger>
|
|
10
|
+
|
|
11
|
+
<TooltipPrimitive.Portal>
|
|
12
|
+
<TooltipPrimitive.Content
|
|
13
|
+
{side}
|
|
14
|
+
{align}
|
|
15
|
+
{sideOffset}
|
|
16
|
+
class="z-50 max-w-[200px] px-2.5 py-1.5 text-[10px] leading-tight rounded
|
|
17
|
+
bg-neutral-token-11 text-neutral-token-1 shadow-md
|
|
18
|
+
animate-in fade-in zoom-in-95 duration-150
|
|
19
|
+
data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95"
|
|
20
|
+
>
|
|
21
|
+
{#if typeof content === 'string'}
|
|
22
|
+
{content}
|
|
23
|
+
{:else}
|
|
24
|
+
{@render content()}
|
|
25
|
+
{/if}
|
|
26
|
+
<TooltipPrimitive.Arrow class="text-neutral-token-13" />
|
|
27
|
+
</TooltipPrimitive.Content>
|
|
28
|
+
</TooltipPrimitive.Portal>
|
|
29
|
+
</TooltipPrimitive.Root>
|
|
30
|
+
</TooltipPrimitive.Provider>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Tooltip } from './Tooltip.svelte';
|
|
@@ -1,69 +1,48 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
</DropdownMenuHeader>
|
|
51
|
-
<DropdownMenuSeparator/>
|
|
52
|
-
|
|
53
|
-
<DropdownMenuGroup>
|
|
54
|
-
<DropdownMenuItem
|
|
55
|
-
href="/account-settings"
|
|
56
|
-
>
|
|
57
|
-
<IconSettings/>
|
|
58
|
-
{m.text_account_settings()}
|
|
59
|
-
</DropdownMenuItem>
|
|
60
|
-
</DropdownMenuGroup>
|
|
61
|
-
<DropdownMenuSeparator/>
|
|
62
|
-
<DropdownMenuGroup>
|
|
63
|
-
<DropdownMenuItem onclick={onLogout}>
|
|
64
|
-
<IconLogout/>
|
|
65
|
-
{m.text_logout()}
|
|
66
|
-
</DropdownMenuItem>
|
|
67
|
-
</DropdownMenuGroup>
|
|
68
|
-
</DropdownMenu>
|
|
69
|
-
{/if}
|
|
1
|
+
<script lang="ts">import {} from "./UserAvatarWithMenu";
|
|
2
|
+
import { Avatar } from "../avatar";
|
|
3
|
+
import { DropdownMenu, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuItem, DropdownMenuSeparator } from "../dropdown-menu";
|
|
4
|
+
import { IconLogout, IconSettings } from "../icons";
|
|
5
|
+
import { extractShortUsernameFromEmail } from "../../internal/service/user.service";
|
|
6
|
+
import { m } from '../../paraglide/messages.js';
|
|
7
|
+
let { children, user, onLogout, ...props } = $props();
|
|
8
|
+
let shortUserName = $derived(extractShortUsernameFromEmail(user?.email));
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
{#if user}
|
|
12
|
+
<DropdownMenu align="end" class="!min-w-[14rem]">
|
|
13
|
+
{#snippet trigger()}
|
|
14
|
+
<button class="rounded-full focus-visible:ring-0 focus-visible:outline-none cursor-pointer">
|
|
15
|
+
<Avatar userUid={user.userUid}>
|
|
16
|
+
{shortUserName}
|
|
17
|
+
</Avatar>
|
|
18
|
+
</button>
|
|
19
|
+
{/snippet}
|
|
20
|
+
|
|
21
|
+
<DropdownMenuHeader>
|
|
22
|
+
<div class="grid grid-cols-[auto_1fr] gap-2 overflow-hidden break-all items-center">
|
|
23
|
+
<Avatar border={false} size="lg" userUid={user.userUid}>
|
|
24
|
+
{shortUserName}
|
|
25
|
+
</Avatar>
|
|
26
|
+
{#if user.email}
|
|
27
|
+
{user.email}
|
|
28
|
+
{/if}
|
|
29
|
+
</div>
|
|
30
|
+
</DropdownMenuHeader>
|
|
31
|
+
<DropdownMenuSeparator/>
|
|
32
|
+
|
|
33
|
+
<DropdownMenuGroup>
|
|
34
|
+
<DropdownMenuItem href="/account-settings">
|
|
35
|
+
<IconSettings/>
|
|
36
|
+
{m.text_account_settings()}
|
|
37
|
+
</DropdownMenuItem>
|
|
38
|
+
</DropdownMenuGroup>
|
|
39
|
+
<DropdownMenuSeparator/>
|
|
40
|
+
|
|
41
|
+
<DropdownMenuGroup>
|
|
42
|
+
<DropdownMenuItem onclick={onLogout}>
|
|
43
|
+
<IconLogout/>
|
|
44
|
+
{m.text_logout()}
|
|
45
|
+
</DropdownMenuItem>
|
|
46
|
+
</DropdownMenuGroup>
|
|
47
|
+
</DropdownMenu>
|
|
48
|
+
{/if}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export { Accordion, AccordionItem, AccordionContent, AccordionTrigger } from './components/accordion/index.js';
|
|
2
|
+
export { ChatBubble, StreamText, ThinkingLoader, SuggestionChips, PromptInput } from './components/ai/index.js';
|
|
3
|
+
export { Alert } from './components/alert/index.js';
|
|
2
4
|
export { Avatar } from './components/avatar/index.js';
|
|
5
|
+
export { Badge } from './components/badge/index.js';
|
|
3
6
|
export { BrandLogo } from './components/brand-logo/index.js';
|
|
4
7
|
export { Button } from './components/button/index.js';
|
|
8
|
+
export { Card } from './components/card/index.js';
|
|
5
9
|
export { Checkbox } from './components/checkbox/index.js';
|
|
6
10
|
export { Combobox } from './components/combobox/index.js';
|
|
11
|
+
export { DateRangePicker } from './components/date-range-picker/index.js';
|
|
7
12
|
export { Dialog } from './components/dialog/index.js';
|
|
13
|
+
export { Drawer } from './components/drawer/index.js';
|
|
8
14
|
export { DropdownMenu, DropdownMenuItem, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuSeparator } from './components/dropdown-menu/index.js';
|
|
9
15
|
export { TeraFontSansSerif, TeraFontMono } from './components/fonts/index.js';
|
|
10
16
|
export { Header } from './components/header/index.js';
|
|
@@ -13,23 +19,32 @@ export { Input } from './components/input/index.js';
|
|
|
13
19
|
export { Label } from './components/label/index.js';
|
|
14
20
|
export { LanguagePickerButton } from './components/language-picker-button/index.js';
|
|
15
21
|
export { LightDarkToggle } from './components/light-dark-toggle/index.js';
|
|
22
|
+
export { FeatureCard, StatBlock, PricingCard, TestimonialCard } from './components/marketing/index.js';
|
|
16
23
|
export { Popover } from './components/popover/index.js';
|
|
17
24
|
export { PopoverResponsive } from './components/popover-responsive/index.js';
|
|
18
25
|
export { Select } from './components/select/index.js';
|
|
19
26
|
export { SideNavigation, SideNavigationLayout, toggleSideNavigation } from './components/side-navigation/index.js';
|
|
27
|
+
export { Skeleton } from './components/skeleton/index.js';
|
|
20
28
|
export { Slider } from './components/slider/index.js';
|
|
29
|
+
export { Spinner } from './components/spinner/index.js';
|
|
21
30
|
export { StarRating } from './components/star-rating/index.js';
|
|
22
31
|
export { Switch } from './components/switch/index.js';
|
|
32
|
+
export { Table } from './components/table/index.js';
|
|
23
33
|
export { Tabs, TabsList, TabsItem, TabsContent } from './components/tabs/index.js';
|
|
24
34
|
export { TeraUiContext } from './components/tera-ui-context/index.js';
|
|
25
35
|
export { TextArea } from './components/text-area/index.js';
|
|
36
|
+
export { ToastContainer, toast } from './components/toast/index.js';
|
|
37
|
+
export { Tooltip } from './components/tooltip/index.js';
|
|
26
38
|
export { UserAvatarWithMenu } from './components/user-avatar-with-menu/index.js';
|
|
27
39
|
export type { AccordionProps, AccordionItemProps, AccordionContentProps, AccordionTriggerProps } from './components/accordion/index.js';
|
|
28
40
|
export type { AvatarProps } from './components/avatar/index.js';
|
|
41
|
+
export type { BadgeProps } from './components/badge/index.js';
|
|
29
42
|
export type { BrandLogoProps } from './components/brand-logo/index.js';
|
|
30
43
|
export type { ButtonProps } from './components/button/index.js';
|
|
44
|
+
export type { CardProps } from './components/card/index.js';
|
|
31
45
|
export type { CheckboxProps } from './components/checkbox/index.js';
|
|
32
|
-
export type { ComboboxProps } from './components/combobox/index.js';
|
|
46
|
+
export type { ComboboxProps, ComboboxItem } from './components/combobox/index.js';
|
|
47
|
+
export type { DateRangePickerProps } from './components/date-range-picker/index.js';
|
|
33
48
|
export type { DialogProps, DialogPropsAstro } from './components/dialog/index.js';
|
|
34
49
|
export type { DropdownMenuProps, DropdownMenuItemProps, DropdownMenuGroupProps, DropdownMenuHeaderProps, DropdownMenuSeparatorProps } from './components/dropdown-menu/index.js';
|
|
35
50
|
export type { HeaderProps } from './components/header/index.js';
|
|
@@ -39,7 +54,7 @@ export type { LanguagePickerButtonProps } from './components/language-picker-but
|
|
|
39
54
|
export type { LightDarkToggleProps } from './components/light-dark-toggle/index.js';
|
|
40
55
|
export type { PopoverProps } from './components/popover/index.js';
|
|
41
56
|
export type { PopoverResponsiveProps } from './components/popover-responsive/index.js';
|
|
42
|
-
export type { SelectProps } from './components/select/index.js';
|
|
57
|
+
export type { SelectProps, SelectOption } from './components/select/index.js';
|
|
43
58
|
export type { SideNavigationItem, SideNavigationProps } from './components/side-navigation/index.js';
|
|
44
59
|
export type { SliderProps } from './components/slider/index.js';
|
|
45
60
|
export type { StarRatingProps } from './components/star-rating/index.js';
|
|
@@ -47,4 +62,6 @@ export type { SwitchProps } from './components/switch/index.js';
|
|
|
47
62
|
export type { TabsProps, TabsListProps, TabsItemProps, TabsContentProps } from './components/tabs/index.js';
|
|
48
63
|
export type { TeraUiContextProps } from './components/tera-ui-context/index.js';
|
|
49
64
|
export type { TextAreaProps, AutoSizeConfig } from './components/text-area/index.js';
|
|
65
|
+
export type { ToastItem, ToastVariant } from './components/toast/index.js';
|
|
66
|
+
export type { TooltipProps } from './components/tooltip/index.js';
|
|
50
67
|
export type { UserAvatarWithMenuProps } from './components/user-avatar-with-menu/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export { Accordion, AccordionItem, AccordionContent, AccordionTrigger } from './components/accordion/index.js';
|
|
2
|
+
export { ChatBubble, StreamText, ThinkingLoader, SuggestionChips, PromptInput } from './components/ai/index.js';
|
|
3
|
+
export { Alert } from './components/alert/index.js';
|
|
2
4
|
export { Avatar } from './components/avatar/index.js';
|
|
5
|
+
export { Badge } from './components/badge/index.js';
|
|
3
6
|
export { BrandLogo } from './components/brand-logo/index.js';
|
|
4
7
|
export { Button } from './components/button/index.js';
|
|
8
|
+
export { Card } from './components/card/index.js';
|
|
5
9
|
export { Checkbox } from './components/checkbox/index.js';
|
|
6
10
|
export { Combobox } from './components/combobox/index.js';
|
|
11
|
+
export { DateRangePicker } from './components/date-range-picker/index.js';
|
|
7
12
|
export { Dialog } from './components/dialog/index.js';
|
|
13
|
+
export { Drawer } from './components/drawer/index.js';
|
|
8
14
|
export { DropdownMenu, DropdownMenuItem, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuSeparator } from './components/dropdown-menu/index.js';
|
|
9
15
|
export { TeraFontSansSerif, TeraFontMono } from './components/fonts/index.js';
|
|
10
16
|
export { Header } from './components/header/index.js';
|
|
@@ -13,14 +19,20 @@ export { Input } from './components/input/index.js';
|
|
|
13
19
|
export { Label } from './components/label/index.js';
|
|
14
20
|
export { LanguagePickerButton } from './components/language-picker-button/index.js';
|
|
15
21
|
export { LightDarkToggle } from './components/light-dark-toggle/index.js';
|
|
22
|
+
export { FeatureCard, StatBlock, PricingCard, TestimonialCard } from './components/marketing/index.js';
|
|
16
23
|
export { Popover } from './components/popover/index.js';
|
|
17
24
|
export { PopoverResponsive } from './components/popover-responsive/index.js';
|
|
18
25
|
export { Select } from './components/select/index.js';
|
|
19
26
|
export { SideNavigation, SideNavigationLayout, toggleSideNavigation } from './components/side-navigation/index.js';
|
|
27
|
+
export { Skeleton } from './components/skeleton/index.js';
|
|
20
28
|
export { Slider } from './components/slider/index.js';
|
|
29
|
+
export { Spinner } from './components/spinner/index.js';
|
|
21
30
|
export { StarRating } from './components/star-rating/index.js';
|
|
22
31
|
export { Switch } from './components/switch/index.js';
|
|
32
|
+
export { Table } from './components/table/index.js';
|
|
23
33
|
export { Tabs, TabsList, TabsItem, TabsContent } from './components/tabs/index.js';
|
|
24
34
|
export { TeraUiContext } from './components/tera-ui-context/index.js';
|
|
25
35
|
export { TextArea } from './components/text-area/index.js';
|
|
36
|
+
export { ToastContainer, toast } from './components/toast/index.js';
|
|
37
|
+
export { Tooltip } from './components/tooltip/index.js';
|
|
26
38
|
export { UserAvatarWithMenu } from './components/user-avatar-with-menu/index.js';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Accordion
|
|
2
|
+
|
|
3
|
+
Collapsible accordion with single or multi-open support. Parts: Accordion, AccordionItem, AccordionTrigger, AccordionContent.
|
|
4
|
+
|
|
5
|
+
Built on BitsUI Accordion primitive with full keyboard navigation.
|
|
6
|
+
|
|
7
|
+
## Import
|
|
8
|
+
|
|
9
|
+
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from 'tera-system-ui';
|
|
10
|
+
import { Accordion } from 'tera-system-ui/accordion'; // subpath
|
|
11
|
+
|
|
12
|
+
## Accordion
|
|
13
|
+
|
|
14
|
+
### Props
|
|
15
|
+
|
|
16
|
+
Name Type Required
|
|
17
|
+
──────────────────────────────────────────────────────────────────────────
|
|
18
|
+
children Snippet optional
|
|
19
|
+
class string optional Additional CSS classes for the root element.
|
|
20
|
+
type 'multiple' | 'single' required Whether only one item can be open at a time ('single') or many ('multiple').
|
|
21
|
+
value string | string[] required The currently open item value(s). Bindable.
|
|
22
|
+
onchange (value: string | string[]) => void optional Called when the open item(s) change.
|
|
23
|
+
controlledValue boolean optional Use controlled mode — manage value externally and pass it back via onchange.
|
|
24
|
+
disabled boolean optional Whether the entire accordion is disabled.
|
|
25
|
+
loop boolean optional Whether keyboard navigation wraps around at the first/last item.
|
|
26
|
+
orientation 'horizontal' | 'vertical' optional Layout orientation — affects arrow-key navigation direction.
|
|
27
|
+
ref HTMLDivElement optional Bindable reference to the root element.
|
|
28
|
+
|
|
29
|
+
### Usage
|
|
30
|
+
|
|
31
|
+
<script>
|
|
32
|
+
import { Accordion } from 'tera-system-ui';
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<Accordion>Content</Accordion>
|
|
36
|
+
<Accordion onchange={(v) => console.log(v)} />
|
|
37
|
+
|
|
38
|
+
## AccordionItem
|
|
39
|
+
|
|
40
|
+
### Props
|
|
41
|
+
|
|
42
|
+
Name Type Required
|
|
43
|
+
──────────────────────────────────────────────────────────────────────────
|
|
44
|
+
value string required Unique identifier for this item — matched against the root `value`.
|
|
45
|
+
disabled boolean optional Prevents the user from interacting with this specific item.
|
|
46
|
+
ref HTMLDivElement optional (bindable)
|
|
47
|
+
children Snippet optional
|
|
48
|
+
|
|
49
|
+
### Usage
|
|
50
|
+
|
|
51
|
+
<script>
|
|
52
|
+
import { AccordionItem } from 'tera-system-ui';
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<AccordionItem>Content</AccordionItem>
|
|
56
|
+
|
|
57
|
+
## AccordionTrigger
|
|
58
|
+
|
|
59
|
+
### Props
|
|
60
|
+
|
|
61
|
+
Name Type Required
|
|
62
|
+
──────────────────────────────────────────────────────────────────────────
|
|
63
|
+
children Snippet optional
|
|
64
|
+
ref HTMLButtonElement optional (bindable)
|
|
65
|
+
|
|
66
|
+
### Usage
|
|
67
|
+
|
|
68
|
+
<script>
|
|
69
|
+
import { AccordionTrigger } from 'tera-system-ui';
|
|
70
|
+
</script>
|
|
71
|
+
|
|
72
|
+
<AccordionTrigger>Content</AccordionTrigger>
|
|
73
|
+
|
|
74
|
+
## AccordionContent
|
|
75
|
+
|
|
76
|
+
### Props
|
|
77
|
+
|
|
78
|
+
Name Type Required
|
|
79
|
+
──────────────────────────────────────────────────────────────────────────
|
|
80
|
+
children Snippet optional
|
|
81
|
+
forceMount boolean optional Keep the content mounted in the DOM even when the item is collapsed. Useful for Svelte transitions or preserving internal component state.
|
|
82
|
+
ref HTMLDivElement optional (bindable)
|
|
83
|
+
|
|
84
|
+
### Usage
|
|
85
|
+
|
|
86
|
+
<script>
|
|
87
|
+
import { AccordionContent } from 'tera-system-ui';
|
|
88
|
+
</script>
|
|
89
|
+
|
|
90
|
+
<AccordionContent>Content</AccordionContent>
|
package/dist/llms/ai.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# ChatBubble
|
|
2
|
+
|
|
3
|
+
AI chat UI components: ChatBubble, PromptInput, StreamText, SuggestionChips, ThinkingLoader.
|
|
4
|
+
|
|
5
|
+
## Import
|
|
6
|
+
|
|
7
|
+
import { ChatBubble, PromptInput, StreamText, SuggestionChips, ThinkingLoader } from 'tera-system-ui';
|
|
8
|
+
|
|
9
|
+
## ChatBubble
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
Name Type Required
|
|
14
|
+
──────────────────────────────────────────────────────────────────────────
|
|
15
|
+
role 'user' | 'assistant' required
|
|
16
|
+
content string | Snippet required
|
|
17
|
+
avatar Snippet optional
|
|
18
|
+
timestamp string optional
|
|
19
|
+
status 'sending' | 'sent' | 'error' optional
|
|
20
|
+
class string optional
|
|
21
|
+
|
|
22
|
+
### Usage
|
|
23
|
+
|
|
24
|
+
<script>
|
|
25
|
+
import { ChatBubble } from 'tera-system-ui';
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<ChatBubble />
|
|
29
|
+
|
|
30
|
+
## PromptInput
|
|
31
|
+
|
|
32
|
+
### Props
|
|
33
|
+
|
|
34
|
+
Name Type Required
|
|
35
|
+
──────────────────────────────────────────────────────────────────────────
|
|
36
|
+
value string optional
|
|
37
|
+
onsubmit (value: string) => void optional
|
|
38
|
+
placeholder string optional
|
|
39
|
+
maxLength number optional
|
|
40
|
+
loading boolean optional
|
|
41
|
+
disabled boolean optional
|
|
42
|
+
suggestions string[] optional
|
|
43
|
+
class string optional
|
|
44
|
+
|
|
45
|
+
### Usage
|
|
46
|
+
|
|
47
|
+
<script>
|
|
48
|
+
import { PromptInput } from 'tera-system-ui';
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<PromptInput />
|
|
52
|
+
|
|
53
|
+
## StreamText
|
|
54
|
+
|
|
55
|
+
### Props
|
|
56
|
+
|
|
57
|
+
Name Type Required
|
|
58
|
+
──────────────────────────────────────────────────────────────────────────
|
|
59
|
+
text string required
|
|
60
|
+
speed StreamSpeed optional
|
|
61
|
+
onComplete () => void optional
|
|
62
|
+
cursor boolean optional
|
|
63
|
+
class string optional
|
|
64
|
+
|
|
65
|
+
### Usage
|
|
66
|
+
|
|
67
|
+
<script>
|
|
68
|
+
import { StreamText } from 'tera-system-ui';
|
|
69
|
+
</script>
|
|
70
|
+
|
|
71
|
+
<StreamText />
|
|
72
|
+
|
|
73
|
+
## SuggestionChips
|
|
74
|
+
|
|
75
|
+
### Props
|
|
76
|
+
|
|
77
|
+
Name Type Required
|
|
78
|
+
──────────────────────────────────────────────────────────────────────────
|
|
79
|
+
suggestions string[] required
|
|
80
|
+
onSelect (value: string | string[]) => void optional
|
|
81
|
+
label string optional
|
|
82
|
+
multiple boolean optional
|
|
83
|
+
class string optional
|
|
84
|
+
|
|
85
|
+
### Usage
|
|
86
|
+
|
|
87
|
+
<script>
|
|
88
|
+
import { SuggestionChips } from 'tera-system-ui';
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<SuggestionChips />
|
|
92
|
+
|
|
93
|
+
## ThinkingLoader
|
|
94
|
+
|
|
95
|
+
### Props
|
|
96
|
+
|
|
97
|
+
Name Type Required
|
|
98
|
+
──────────────────────────────────────────────────────────────────────────
|
|
99
|
+
variant ThinkingVariant optional
|
|
100
|
+
size ThinkingSize optional
|
|
101
|
+
label string optional
|
|
102
|
+
class string optional
|
|
103
|
+
|
|
104
|
+
### Usage
|
|
105
|
+
|
|
106
|
+
<script>
|
|
107
|
+
import { ThinkingLoader } from 'tera-system-ui';
|
|
108
|
+
</script>
|
|
109
|
+
|
|
110
|
+
<ThinkingLoader />
|