@sentropic/design-system-vue 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion.d.ts +66 -0
- package/dist/Accordion.d.ts.map +1 -0
- package/dist/Accordion.js +69 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/Alert.d.ts +59 -0
- package/dist/Alert.d.ts.map +1 -0
- package/dist/Alert.js +36 -0
- package/dist/Alert.js.map +1 -0
- package/dist/AreaChart.d.ts +66 -0
- package/dist/AreaChart.d.ts.map +1 -0
- package/dist/AreaChart.js +54 -0
- package/dist/AreaChart.js.map +1 -0
- package/dist/AspectRatio.d.ts +29 -0
- package/dist/AspectRatio.d.ts.map +1 -0
- package/dist/AspectRatio.js +20 -0
- package/dist/AspectRatio.js.map +1 -0
- package/dist/Badge.d.ts +30 -0
- package/dist/Badge.d.ts.map +1 -0
- package/dist/Badge.js +16 -0
- package/dist/Badge.js.map +1 -0
- package/dist/BarChart.d.ts +66 -0
- package/dist/BarChart.d.ts.map +1 -0
- package/dist/BarChart.js +47 -0
- package/dist/BarChart.js.map +1 -0
- package/dist/Breadcrumb.d.ts +43 -0
- package/dist/Breadcrumb.d.ts.map +1 -0
- package/dist/Breadcrumb.js +29 -0
- package/dist/Breadcrumb.js.map +1 -0
- package/dist/Button.d.ts +61 -0
- package/dist/Button.d.ts.map +1 -0
- package/dist/Button.js +36 -0
- package/dist/Button.js.map +1 -0
- package/dist/Card.d.ts +29 -0
- package/dist/Card.d.ts.map +1 -0
- package/dist/Card.js +16 -0
- package/dist/Card.js.map +1 -0
- package/dist/ChatComposer.d.ts +51 -0
- package/dist/ChatComposer.d.ts.map +1 -0
- package/dist/ChatComposer.js +47 -0
- package/dist/ChatComposer.js.map +1 -0
- package/dist/ChatMessage.d.ts +71 -0
- package/dist/ChatMessage.d.ts.map +1 -0
- package/dist/ChatMessage.js +47 -0
- package/dist/ChatMessage.js.map +1 -0
- package/dist/ChatThread.d.ts +60 -0
- package/dist/ChatThread.d.ts.map +1 -0
- package/dist/ChatThread.js +41 -0
- package/dist/ChatThread.js.map +1 -0
- package/dist/Checkbox.d.ts +101 -0
- package/dist/Checkbox.d.ts.map +1 -0
- package/dist/Checkbox.js +45 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/CodeSnippet.d.ts +38 -0
- package/dist/CodeSnippet.d.ts.map +1 -0
- package/dist/CodeSnippet.js +20 -0
- package/dist/CodeSnippet.js.map +1 -0
- package/dist/Combobox.d.ts +109 -0
- package/dist/Combobox.d.ts.map +1 -0
- package/dist/Combobox.js +152 -0
- package/dist/Combobox.js.map +1 -0
- package/dist/ContentSwitcher.d.ts +67 -0
- package/dist/ContentSwitcher.d.ts.map +1 -0
- package/dist/ContentSwitcher.js +42 -0
- package/dist/ContentSwitcher.js.map +1 -0
- package/dist/CopyButton.d.ts +72 -0
- package/dist/CopyButton.d.ts.map +1 -0
- package/dist/CopyButton.js +28 -0
- package/dist/CopyButton.js.map +1 -0
- package/dist/DataTable.d.ts +100 -0
- package/dist/DataTable.d.ts.map +1 -0
- package/dist/DataTable.js +42 -0
- package/dist/DataTable.js.map +1 -0
- package/dist/DatePicker.d.ts +53 -0
- package/dist/DatePicker.d.ts.map +1 -0
- package/dist/DatePicker.js +46 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DonutChart.d.ts +66 -0
- package/dist/DonutChart.d.ts.map +1 -0
- package/dist/DonutChart.js +42 -0
- package/dist/DonutChart.js.map +1 -0
- package/dist/Drawer.d.ts +62 -0
- package/dist/Drawer.d.ts.map +1 -0
- package/dist/Drawer.js +77 -0
- package/dist/Drawer.js.map +1 -0
- package/dist/Dropdown.d.ts +76 -0
- package/dist/Dropdown.d.ts.map +1 -0
- package/dist/Dropdown.js +81 -0
- package/dist/Dropdown.js.map +1 -0
- package/dist/EmptyState.d.ts +48 -0
- package/dist/EmptyState.d.ts.map +1 -0
- package/dist/EmptyState.js +33 -0
- package/dist/EmptyState.js.map +1 -0
- package/dist/FileUploader.d.ts +57 -0
- package/dist/FileUploader.d.ts.map +1 -0
- package/dist/FileUploader.js +39 -0
- package/dist/FileUploader.js.map +1 -0
- package/dist/Footer.d.ts +67 -0
- package/dist/Footer.d.ts.map +1 -0
- package/dist/Footer.js +39 -0
- package/dist/Footer.js.map +1 -0
- package/dist/ForceGraph.d.ts +86 -0
- package/dist/ForceGraph.d.ts.map +1 -0
- package/dist/ForceGraph.js +62 -0
- package/dist/ForceGraph.js.map +1 -0
- package/dist/Form.d.ts +42 -0
- package/dist/Form.d.ts.map +1 -0
- package/dist/Form.js +32 -0
- package/dist/Form.js.map +1 -0
- package/dist/FormGroup.d.ts +38 -0
- package/dist/FormGroup.d.ts.map +1 -0
- package/dist/FormGroup.js +23 -0
- package/dist/FormGroup.js.map +1 -0
- package/dist/Header.d.ts +89 -0
- package/dist/Header.d.ts.map +1 -0
- package/dist/Header.js +54 -0
- package/dist/Header.js.map +1 -0
- package/dist/Highlight.d.ts +40 -0
- package/dist/Highlight.d.ts.map +1 -0
- package/dist/Highlight.js +25 -0
- package/dist/Highlight.js.map +1 -0
- package/dist/IconButton.d.ts +61 -0
- package/dist/IconButton.d.ts.map +1 -0
- package/dist/IconButton.js +30 -0
- package/dist/IconButton.js.map +1 -0
- package/dist/InlineLoading.d.ts +40 -0
- package/dist/InlineLoading.d.ts.map +1 -0
- package/dist/InlineLoading.js +26 -0
- package/dist/InlineLoading.js.map +1 -0
- package/dist/Input.d.ts +126 -0
- package/dist/Input.d.ts.map +1 -0
- package/dist/Input.js +60 -0
- package/dist/Input.js.map +1 -0
- package/dist/LanguageSelector.d.ts +54 -0
- package/dist/LanguageSelector.d.ts.map +1 -0
- package/dist/LanguageSelector.js +34 -0
- package/dist/LanguageSelector.js.map +1 -0
- package/dist/LineChart.d.ts +66 -0
- package/dist/LineChart.d.ts.map +1 -0
- package/dist/LineChart.js +50 -0
- package/dist/LineChart.js.map +1 -0
- package/dist/Link.d.ts +59 -0
- package/dist/Link.d.ts.map +1 -0
- package/dist/Link.js +21 -0
- package/dist/Link.js.map +1 -0
- package/dist/LoadingState.d.ts +50 -0
- package/dist/LoadingState.d.ts.map +1 -0
- package/dist/LoadingState.js +28 -0
- package/dist/LoadingState.js.map +1 -0
- package/dist/Menu.d.ts +68 -0
- package/dist/Menu.d.ts.map +1 -0
- package/dist/Menu.js +95 -0
- package/dist/Menu.js.map +1 -0
- package/dist/MenuPopover.d.ts +52 -0
- package/dist/MenuPopover.d.ts.map +1 -0
- package/dist/MenuPopover.js +28 -0
- package/dist/MenuPopover.js.map +1 -0
- package/dist/MenuTriggerButton.d.ts +39 -0
- package/dist/MenuTriggerButton.d.ts.map +1 -0
- package/dist/MenuTriggerButton.js +22 -0
- package/dist/MenuTriggerButton.js.map +1 -0
- package/dist/MessageActions.d.ts +46 -0
- package/dist/MessageActions.d.ts.map +1 -0
- package/dist/MessageActions.js +30 -0
- package/dist/MessageActions.js.map +1 -0
- package/dist/MessageStatusBadge.d.ts +50 -0
- package/dist/MessageStatusBadge.d.ts.map +1 -0
- package/dist/MessageStatusBadge.js +44 -0
- package/dist/MessageStatusBadge.js.map +1 -0
- package/dist/Modal.d.ts +51 -0
- package/dist/Modal.d.ts.map +1 -0
- package/dist/Modal.js +66 -0
- package/dist/Modal.js.map +1 -0
- package/dist/MultiSelect.d.ts +88 -0
- package/dist/MultiSelect.d.ts.map +1 -0
- package/dist/MultiSelect.js +101 -0
- package/dist/MultiSelect.js.map +1 -0
- package/dist/NumberInput.d.ts +124 -0
- package/dist/NumberInput.d.ts.map +1 -0
- package/dist/NumberInput.js +65 -0
- package/dist/NumberInput.js.map +1 -0
- package/dist/OrderedList.d.ts +33 -0
- package/dist/OrderedList.d.ts.map +1 -0
- package/dist/OrderedList.js +52 -0
- package/dist/OrderedList.js.map +1 -0
- package/dist/OverflowMenu.d.ts +73 -0
- package/dist/OverflowMenu.d.ts.map +1 -0
- package/dist/OverflowMenu.js +57 -0
- package/dist/OverflowMenu.js.map +1 -0
- package/dist/Pagination.d.ts +70 -0
- package/dist/Pagination.d.ts.map +1 -0
- package/dist/Pagination.js +58 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/PaginationNav.d.ts +59 -0
- package/dist/PaginationNav.d.ts.map +1 -0
- package/dist/PaginationNav.js +37 -0
- package/dist/PaginationNav.js.map +1 -0
- package/dist/PasswordInput.d.ts +94 -0
- package/dist/PasswordInput.d.ts.map +1 -0
- package/dist/PasswordInput.js +69 -0
- package/dist/PasswordInput.js.map +1 -0
- package/dist/Popover.d.ts +52 -0
- package/dist/Popover.d.ts.map +1 -0
- package/dist/Popover.js +66 -0
- package/dist/Popover.js.map +1 -0
- package/dist/ProgressBar.d.ts +81 -0
- package/dist/ProgressBar.d.ts.map +1 -0
- package/dist/ProgressBar.js +62 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/ProgressIndicator.d.ts +46 -0
- package/dist/ProgressIndicator.d.ts.map +1 -0
- package/dist/ProgressIndicator.js +31 -0
- package/dist/ProgressIndicator.js.map +1 -0
- package/dist/Quote.d.ts +39 -0
- package/dist/Quote.d.ts.map +1 -0
- package/dist/Quote.js +29 -0
- package/dist/Quote.js.map +1 -0
- package/dist/Radio.d.ts +101 -0
- package/dist/Radio.d.ts.map +1 -0
- package/dist/Radio.js +46 -0
- package/dist/Radio.js.map +1 -0
- package/dist/ScatterPlot.d.ts +65 -0
- package/dist/ScatterPlot.d.ts.map +1 -0
- package/dist/ScatterPlot.js +41 -0
- package/dist/ScatterPlot.js.map +1 -0
- package/dist/Search.d.ts +85 -0
- package/dist/Search.d.ts.map +1 -0
- package/dist/Search.js +54 -0
- package/dist/Search.js.map +1 -0
- package/dist/Select.d.ts +108 -0
- package/dist/Select.d.ts.map +1 -0
- package/dist/Select.js +58 -0
- package/dist/Select.js.map +1 -0
- package/dist/SideNav.d.ts +44 -0
- package/dist/SideNav.d.ts.map +1 -0
- package/dist/SideNav.js +22 -0
- package/dist/SideNav.js.map +1 -0
- package/dist/SkeletonText.d.ts +39 -0
- package/dist/SkeletonText.d.ts.map +1 -0
- package/dist/SkeletonText.js +24 -0
- package/dist/SkeletonText.js.map +1 -0
- package/dist/SkipLink.d.ts +29 -0
- package/dist/SkipLink.d.ts.map +1 -0
- package/dist/SkipLink.js +17 -0
- package/dist/SkipLink.js.map +1 -0
- package/dist/Slider.d.ts +93 -0
- package/dist/Slider.d.ts.map +1 -0
- package/dist/Slider.js +45 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Sparkline.d.ts +49 -0
- package/dist/Sparkline.d.ts.map +1 -0
- package/dist/Sparkline.js +42 -0
- package/dist/Sparkline.js.map +1 -0
- package/dist/StackedBarChart.d.ts +68 -0
- package/dist/StackedBarChart.d.ts.map +1 -0
- package/dist/StackedBarChart.js +55 -0
- package/dist/StackedBarChart.js.map +1 -0
- package/dist/StreamingMessage.d.ts +57 -0
- package/dist/StreamingMessage.d.ts.map +1 -0
- package/dist/StreamingMessage.js +25 -0
- package/dist/StreamingMessage.js.map +1 -0
- package/dist/StructuredList.d.ts +44 -0
- package/dist/StructuredList.d.ts.map +1 -0
- package/dist/StructuredList.js +20 -0
- package/dist/StructuredList.js.map +1 -0
- package/dist/Switch.d.ts +91 -0
- package/dist/Switch.d.ts.map +1 -0
- package/dist/Switch.js +48 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Table.d.ts +53 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +29 -0
- package/dist/Table.js.map +1 -0
- package/dist/Tabs.d.ts +67 -0
- package/dist/Tabs.d.ts.map +1 -0
- package/dist/Tabs.js +124 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tag.d.ts +53 -0
- package/dist/Tag.d.ts.map +1 -0
- package/dist/Tag.js +21 -0
- package/dist/Tag.js.map +1 -0
- package/dist/Textarea.d.ts +113 -0
- package/dist/Textarea.d.ts.map +1 -0
- package/dist/Textarea.js +60 -0
- package/dist/Textarea.js.map +1 -0
- package/dist/ThemeProvider.d.ts +30 -0
- package/dist/ThemeProvider.d.ts.map +1 -0
- package/dist/ThemeProvider.js +43 -0
- package/dist/ThemeProvider.js.map +1 -0
- package/dist/Tile.d.ts +70 -0
- package/dist/Tile.d.ts.map +1 -0
- package/dist/Tile.js +30 -0
- package/dist/Tile.js.map +1 -0
- package/dist/TileGroup.d.ts +67 -0
- package/dist/TileGroup.d.ts.map +1 -0
- package/dist/TileGroup.js +48 -0
- package/dist/TileGroup.js.map +1 -0
- package/dist/Toast.d.ts +90 -0
- package/dist/Toast.d.ts.map +1 -0
- package/dist/Toast.js +80 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toggle.d.ts +102 -0
- package/dist/Toggle.d.ts.map +1 -0
- package/dist/Toggle.js +49 -0
- package/dist/Toggle.js.map +1 -0
- package/dist/Toggletip.d.ts +61 -0
- package/dist/Toggletip.d.ts.map +1 -0
- package/dist/Toggletip.js +53 -0
- package/dist/Toggletip.js.map +1 -0
- package/dist/Tooltip.d.ts +39 -0
- package/dist/Tooltip.d.ts.map +1 -0
- package/dist/Tooltip.js +37 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/TreeView.d.ts +64 -0
- package/dist/TreeView.d.ts.map +1 -0
- package/dist/TreeView.js +40 -0
- package/dist/TreeView.js.map +1 -0
- package/dist/UnorderedList.d.ts +33 -0
- package/dist/UnorderedList.d.ts.map +1 -0
- package/dist/UnorderedList.js +36 -0
- package/dist/UnorderedList.js.map +1 -0
- package/dist/classNames.d.ts +2 -0
- package/dist/classNames.d.ts.map +1 -0
- package/dist/classNames.js +4 -0
- package/dist/classNames.js.map +1 -0
- package/dist/index.d.ts +162 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +6366 -0
- package/package.json +50 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface BreadcrumbItem {
|
|
2
|
+
label: unknown;
|
|
3
|
+
href?: string;
|
|
4
|
+
current?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type BreadcrumbProps = {
|
|
7
|
+
items: BreadcrumbItem[];
|
|
8
|
+
label?: string;
|
|
9
|
+
class?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const Breadcrumb: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
items: {
|
|
13
|
+
type: () => BreadcrumbItem[];
|
|
14
|
+
required: true;
|
|
15
|
+
};
|
|
16
|
+
label: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
class: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
|
+
items: {
|
|
28
|
+
type: () => BreadcrumbItem[];
|
|
29
|
+
required: true;
|
|
30
|
+
};
|
|
31
|
+
label: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
class: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: undefined;
|
|
38
|
+
};
|
|
39
|
+
}>> & Readonly<{}>, {
|
|
40
|
+
class: string;
|
|
41
|
+
label: string;
|
|
42
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
43
|
+
//# sourceMappingURL=Breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../src/Breadcrumb.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU;;cAGK,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;cAAtB,MAAM,cAAc,EAAE;;;;;;;;;;;;;;4EAyChD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
export const Breadcrumb = defineComponent({
|
|
4
|
+
name: "Breadcrumb",
|
|
5
|
+
props: {
|
|
6
|
+
items: { type: Array, required: true },
|
|
7
|
+
label: { type: String, default: "Breadcrumb" },
|
|
8
|
+
class: { type: String, default: undefined },
|
|
9
|
+
},
|
|
10
|
+
setup(props, { attrs }) {
|
|
11
|
+
return () => h("nav", {
|
|
12
|
+
...attrs,
|
|
13
|
+
class: classNames("st-breadcrumb", props.class),
|
|
14
|
+
"aria-label": props.label,
|
|
15
|
+
}, [
|
|
16
|
+
h("ol", {}, props.items.map((item, index) => h("li", { key: index }, [
|
|
17
|
+
item.href && !item.current
|
|
18
|
+
? h("a", { href: item.href }, item.label)
|
|
19
|
+
: h("span", {
|
|
20
|
+
"aria-current": item.current ? "page" : undefined,
|
|
21
|
+
}, item.label),
|
|
22
|
+
index < props.items.length - 1
|
|
23
|
+
? h("span", { class: "st-breadcrumb__separator" }, "/")
|
|
24
|
+
: null,
|
|
25
|
+
]))),
|
|
26
|
+
]);
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=Breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../src/Breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAc7C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;QAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,KAAK,EACL;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC;YAC/C,YAAY,EAAE,KAAK,CAAC,KAAK;SAC1B,EACD;YACE,CAAC,CACC,IAAI,EACJ,EAAE,EACF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;oBACxB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAe,CAAC;oBACnD,CAAC,CAAC,CAAC,CACC,MAAM,EACN;wBACE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;qBAClD,EACD,IAAI,CAAC,KAAe,CACrB;gBACL,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC5B,CAAC,CAAC,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,0BAA0B,EAAE,EACrC,GAAG,CACJ;oBACH,CAAC,CAAC,IAAI;aACT,CAAC,CACH,CACF;SACF,CACF,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
|
package/dist/Button.d.ts
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
|
|
2
|
+
export type ButtonSize = "sm" | "md" | "lg";
|
|
3
|
+
export type ButtonProps = {
|
|
4
|
+
variant?: ButtonVariant;
|
|
5
|
+
size?: ButtonSize;
|
|
6
|
+
type?: "button" | "submit" | "reset";
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
class?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const Button: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
11
|
+
variant: {
|
|
12
|
+
type: () => ButtonVariant;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
size: {
|
|
16
|
+
type: () => ButtonSize;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
type: {
|
|
20
|
+
type: () => "button" | "submit" | "reset";
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
disabled: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
class: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
default: undefined;
|
|
30
|
+
};
|
|
31
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
34
|
+
variant: {
|
|
35
|
+
type: () => ButtonVariant;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
size: {
|
|
39
|
+
type: () => ButtonSize;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
type: {
|
|
43
|
+
type: () => "button" | "submit" | "reset";
|
|
44
|
+
default: string;
|
|
45
|
+
};
|
|
46
|
+
disabled: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
50
|
+
class: {
|
|
51
|
+
type: StringConstructor;
|
|
52
|
+
default: undefined;
|
|
53
|
+
};
|
|
54
|
+
}>> & Readonly<{}>, {
|
|
55
|
+
type: "button" | "reset" | "submit";
|
|
56
|
+
class: string;
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
variant: ButtonVariant;
|
|
59
|
+
size: ButtonSize;
|
|
60
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
61
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AACzE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,MAAM;;cAIG,MAAM,aAAa;;;;cAInB,MAAM,UAAU;;;;cAIhB,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO;;;;;;;;;;;;;;;cARnC,MAAM,aAAa;;;;cAInB,MAAM,UAAU;;;;cAIhB,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO;;;;;;;;;;;;;;;;;4EA8BvD,CAAC"}
|
package/dist/Button.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
export const Button = defineComponent({
|
|
4
|
+
name: "Button",
|
|
5
|
+
props: {
|
|
6
|
+
variant: {
|
|
7
|
+
type: String,
|
|
8
|
+
default: "primary",
|
|
9
|
+
},
|
|
10
|
+
size: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "md",
|
|
13
|
+
},
|
|
14
|
+
type: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: "button",
|
|
17
|
+
},
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false,
|
|
21
|
+
},
|
|
22
|
+
class: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: undefined,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
setup(props, { slots, attrs }) {
|
|
28
|
+
return () => h("button", {
|
|
29
|
+
...attrs,
|
|
30
|
+
type: props.type,
|
|
31
|
+
disabled: props.disabled,
|
|
32
|
+
class: classNames("st-button", `st-button--${props.variant}`, `st-button--${props.size}`, props.class),
|
|
33
|
+
}, slots.default?.());
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC;IACpC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,MAA6B;YACnC,OAAO,EAAE,SAAS;SACnB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAA0B;YAChC,OAAO,EAAE,IAAI;SACd;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAA6C;YACnD,OAAO,EAAE,QAAQ;SAClB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB;KACF;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE,CACV,CAAC,CACC,QAAQ,EACR;YACE,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,UAAU,CACf,WAAW,EACX,cAAc,KAAK,CAAC,OAAO,EAAE,EAC7B,cAAc,KAAK,CAAC,IAAI,EAAE,EAC1B,KAAK,CAAC,KAAK,CACZ;SACF,EACD,KAAK,CAAC,OAAO,EAAE,EAAE,CAClB,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
|
package/dist/Card.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type CardProps = {
|
|
2
|
+
interactive?: boolean;
|
|
3
|
+
class?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const Card: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
|
+
interactive: {
|
|
7
|
+
type: BooleanConstructor;
|
|
8
|
+
default: boolean;
|
|
9
|
+
};
|
|
10
|
+
class: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
default: undefined;
|
|
13
|
+
};
|
|
14
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
|
+
interactive: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
class: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: undefined;
|
|
24
|
+
};
|
|
25
|
+
}>> & Readonly<{}>, {
|
|
26
|
+
class: string;
|
|
27
|
+
interactive: boolean;
|
|
28
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../src/Card.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;4EAqBf,CAAC"}
|
package/dist/Card.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
export const Card = defineComponent({
|
|
4
|
+
name: "Card",
|
|
5
|
+
props: {
|
|
6
|
+
interactive: { type: Boolean, default: false },
|
|
7
|
+
class: { type: String, default: undefined },
|
|
8
|
+
},
|
|
9
|
+
setup(props, { slots, attrs }) {
|
|
10
|
+
return () => h("section", {
|
|
11
|
+
...attrs,
|
|
12
|
+
class: classNames("st-card", props.interactive && "st-card--interactive", props.class),
|
|
13
|
+
}, slots.default?.());
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=Card.js.map
|
package/dist/Card.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../src/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;IAClC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE;QACL,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE,CACV,CAAC,CACC,SAAS,EACT;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CACf,SAAS,EACT,KAAK,CAAC,WAAW,IAAI,sBAAsB,EAC3C,KAAK,CAAC,KAAK,CACZ;SACF,EACD,KAAK,CAAC,OAAO,EAAE,EAAE,CAClB,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export type ChatComposerProps = {
|
|
2
|
+
value?: string;
|
|
3
|
+
placeholder?: string;
|
|
4
|
+
submitLabel?: unknown;
|
|
5
|
+
class?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const ChatComposer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
8
|
+
value: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
placeholder: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
submitLabel: {
|
|
17
|
+
type: () => unknown;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
class: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "submit"[], "submit", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
|
+
value: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
default: string;
|
|
30
|
+
};
|
|
31
|
+
placeholder: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
submitLabel: {
|
|
36
|
+
type: () => unknown;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
class: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
default: undefined;
|
|
42
|
+
};
|
|
43
|
+
}>> & Readonly<{
|
|
44
|
+
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
45
|
+
}>, {
|
|
46
|
+
class: string;
|
|
47
|
+
value: string;
|
|
48
|
+
placeholder: string;
|
|
49
|
+
submitLabel: string;
|
|
50
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
51
|
+
//# sourceMappingURL=ChatComposer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../src/ChatComposer.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;cAK+B,MAAM,OAAO;;;;;;;;;;;;;;;;;;;cAAb,MAAM,OAAO;;;;;;;;;;;;;;4EAmDnE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { defineComponent, h, ref } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
export const ChatComposer = defineComponent({
|
|
4
|
+
name: "ChatComposer",
|
|
5
|
+
props: {
|
|
6
|
+
value: { type: String, default: "" },
|
|
7
|
+
placeholder: { type: String, default: "Message" },
|
|
8
|
+
submitLabel: { type: [String, Object], default: "Send" },
|
|
9
|
+
class: { type: String, default: undefined },
|
|
10
|
+
},
|
|
11
|
+
emits: ["submit"],
|
|
12
|
+
setup(props, { emit, slots, attrs }) {
|
|
13
|
+
const draft = ref(props.value ?? "");
|
|
14
|
+
return () => {
|
|
15
|
+
const placeholder = props.placeholder ?? "Message";
|
|
16
|
+
const submitLabel = props.submitLabel ?? "Send";
|
|
17
|
+
return h("form", {
|
|
18
|
+
...attrs,
|
|
19
|
+
class: classNames("st-chatComposer", props.class),
|
|
20
|
+
onSubmit: (event) => {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
emit("submit", { value: draft.value });
|
|
23
|
+
},
|
|
24
|
+
}, [
|
|
25
|
+
h("div", { class: "st-chatComposer__body" }, [
|
|
26
|
+
h("div", { class: "st-chatComposer__inputShell" }, [
|
|
27
|
+
h("textarea", {
|
|
28
|
+
class: "st-chatComposer__textarea st-chatComposer__input",
|
|
29
|
+
placeholder,
|
|
30
|
+
value: draft.value,
|
|
31
|
+
onInput: (event) => {
|
|
32
|
+
draft.value = event.currentTarget.value;
|
|
33
|
+
},
|
|
34
|
+
}),
|
|
35
|
+
]),
|
|
36
|
+
]),
|
|
37
|
+
h("div", { class: "st-chatComposer__toolbar" }, [
|
|
38
|
+
h("div", { class: "st-chatComposer__actions st-chatComposer__actions--left" }, slots.default?.()),
|
|
39
|
+
h("div", { class: "st-chatComposer__actions st-chatComposer__actions--right" }, [
|
|
40
|
+
h("button", { type: "submit", class: "st-button st-button--primary st-button--sm" }, submitLabel),
|
|
41
|
+
]),
|
|
42
|
+
]),
|
|
43
|
+
]);
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=ChatComposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatComposer.js","sourceRoot":"","sources":["../src/ChatComposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QACjD,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,MAAM,EAAE;QACpF,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAErC,OAAO,GAAG,EAAE;YACV,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;YACnD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC;YAChD,OAAO,CAAC,CACN,MAAM,EACN;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC;gBACjD,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE;oBACzB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzC,CAAC;aACF,EACD;gBACE,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE;oBAC3C,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE;wBACjD,CAAC,CAAC,UAAU,EAAE;4BACZ,KAAK,EAAE,kDAAkD;4BACzD,WAAW;4BACX,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gCACxB,KAAK,CAAC,KAAK,GAAI,KAAK,CAAC,aAAqC,CAAC,KAAK,CAAC;4BACnE,CAAC;yBACF,CAAC;qBACH,CAAC;iBACH,CAAC;gBACF,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE;oBAC9C,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,yDAAyD,EAAE,EACpE,KAAK,CAAC,OAAO,EAAE,EAAE,CAClB;oBACD,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,0DAA0D,EAAE,EAAE;wBAC9E,CAAC,CACC,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE,EACvE,WAAqB,CACtB;qBACF,CAAC;iBACH,CAAC;aACH,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export type ChatMessageRole = "user" | "assistant" | "system" | "tool";
|
|
2
|
+
export type ChatMessageStatus = "pending" | "processing" | "completed" | "failed" | "idle" | "streaming" | "error" | "sent";
|
|
3
|
+
export type ChatMessageProps = {
|
|
4
|
+
role?: ChatMessageRole;
|
|
5
|
+
status?: ChatMessageStatus;
|
|
6
|
+
content?: unknown;
|
|
7
|
+
timestamp?: unknown;
|
|
8
|
+
actions?: unknown;
|
|
9
|
+
class?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const ChatMessage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
role: {
|
|
13
|
+
type: () => ChatMessageRole;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
status: {
|
|
17
|
+
type: () => ChatMessageStatus;
|
|
18
|
+
default: undefined;
|
|
19
|
+
};
|
|
20
|
+
content: {
|
|
21
|
+
type: () => unknown;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
timestamp: {
|
|
25
|
+
type: () => unknown;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
actions: {
|
|
29
|
+
type: () => unknown;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
32
|
+
class: {
|
|
33
|
+
type: StringConstructor;
|
|
34
|
+
default: undefined;
|
|
35
|
+
};
|
|
36
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
39
|
+
role: {
|
|
40
|
+
type: () => ChatMessageRole;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
status: {
|
|
44
|
+
type: () => ChatMessageStatus;
|
|
45
|
+
default: undefined;
|
|
46
|
+
};
|
|
47
|
+
content: {
|
|
48
|
+
type: () => unknown;
|
|
49
|
+
default: undefined;
|
|
50
|
+
};
|
|
51
|
+
timestamp: {
|
|
52
|
+
type: () => unknown;
|
|
53
|
+
default: undefined;
|
|
54
|
+
};
|
|
55
|
+
actions: {
|
|
56
|
+
type: () => unknown;
|
|
57
|
+
default: undefined;
|
|
58
|
+
};
|
|
59
|
+
class: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
default: undefined;
|
|
62
|
+
};
|
|
63
|
+
}>> & Readonly<{}>, {
|
|
64
|
+
class: string;
|
|
65
|
+
role: ChatMessageRole;
|
|
66
|
+
actions: undefined;
|
|
67
|
+
status: ChatMessageStatus;
|
|
68
|
+
content: undefined;
|
|
69
|
+
timestamp: undefined;
|
|
70
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
71
|
+
//# sourceMappingURL=ChatMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../src/ChatMessage.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AACvE,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,MAAM,GACN,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW;;cAGI,MAAM,eAAe;;;;cACnB,MAAM,iBAAiB;;;;cACD,MAAM,OAAO;;;;cACX,MAAM,OAAO;;;;cACf,MAAM,OAAO;;;;;;;;;;;cAJrC,MAAM,eAAe;;;;cACnB,MAAM,iBAAiB;;;;cACD,MAAM,OAAO;;;;cACX,MAAM,OAAO;;;;cACf,MAAM,OAAO;;;;;;;;;;;;;;4EAkD/D,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
export const ChatMessage = defineComponent({
|
|
4
|
+
name: "ChatMessage",
|
|
5
|
+
props: {
|
|
6
|
+
role: { type: String, default: "assistant" },
|
|
7
|
+
status: { type: String, default: undefined },
|
|
8
|
+
content: { type: [String, Object], default: undefined },
|
|
9
|
+
timestamp: { type: [String, Object], default: undefined },
|
|
10
|
+
actions: { type: [String, Object], default: undefined },
|
|
11
|
+
class: { type: String, default: undefined },
|
|
12
|
+
},
|
|
13
|
+
setup(props, { slots, attrs }) {
|
|
14
|
+
return () => {
|
|
15
|
+
const role = props.role ?? "assistant";
|
|
16
|
+
const status = props.status;
|
|
17
|
+
const normalizedStatus = status === "streaming"
|
|
18
|
+
? "processing"
|
|
19
|
+
: status === "error"
|
|
20
|
+
? "failed"
|
|
21
|
+
: status;
|
|
22
|
+
const avatar = role[0]?.toUpperCase() ?? "";
|
|
23
|
+
return h("article", {
|
|
24
|
+
...attrs,
|
|
25
|
+
class: classNames("st-chatMessage", `st-chatMessage--${role}`, normalizedStatus && `st-chatMessage--${normalizedStatus}`, props.class),
|
|
26
|
+
}, [
|
|
27
|
+
h("div", { class: "st-chatMessage__avatar", "aria-hidden": "true" }, avatar),
|
|
28
|
+
h("div", { class: "st-chatMessage__body" }, [
|
|
29
|
+
h("div", { class: "st-chatMessage__bubble" }, [
|
|
30
|
+
h("div", { class: "st-chatMessage__content" }, slots.default?.() ?? props.content),
|
|
31
|
+
]),
|
|
32
|
+
props.timestamp || props.actions
|
|
33
|
+
? h("footer", { class: "st-chatMessage__footer" }, [
|
|
34
|
+
props.timestamp
|
|
35
|
+
? h("span", { class: "st-chatMessage__timestamp" }, props.timestamp)
|
|
36
|
+
: null,
|
|
37
|
+
props.actions
|
|
38
|
+
? h("span", { class: "st-chatMessage__actions" }, props.actions)
|
|
39
|
+
: null,
|
|
40
|
+
])
|
|
41
|
+
: null,
|
|
42
|
+
]),
|
|
43
|
+
]);
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=ChatMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../src/ChatMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAsB7C,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAA+B,EAAE,OAAO,EAAE,WAAW,EAAE;QACrE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAiC,EAAE,OAAO,EAAE,SAAS,EAAE;QACvE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;QACnF,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;QACrF,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;QACnF,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,gBAAgB,GACpB,MAAM,KAAK,WAAW;gBACpB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,KAAK,OAAO;oBAClB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,CACN,SAAS,EACT;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CACf,gBAAgB,EAChB,mBAAmB,IAAI,EAAE,EACzB,gBAAgB,IAAI,mBAAmB,gBAAgB,EAAE,EACzD,KAAK,CAAC,KAAK,CACZ;aACF,EACD;gBACE,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC;gBAC5E,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE;oBAC1C,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE;wBAC5C,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,yBAAyB,EAAE,EACpC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAK,KAAK,CAAC,OAA8B,CAC3D;qBACF,CAAC;oBACF,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO;wBAC9B,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE;4BAC/C,KAAK,CAAC,SAAS;gCACb,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,SAAmB,CAAC;gCAC9E,CAAC,CAAC,IAAI;4BACR,KAAK,CAAC,OAAO;gCACX,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,KAAK,CAAC,OAAiB,CAAC;gCAC1E,CAAC,CAAC,IAAI;yBACT,CAAC;wBACJ,CAAC,CAAC,IAAI;iBACT,CAAC;aACH,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ChatMessageRole, ChatMessageStatus } from "./ChatMessage.js";
|
|
2
|
+
export type ChatThreadProps = {
|
|
3
|
+
messages?: Array<{
|
|
4
|
+
id: string;
|
|
5
|
+
role?: ChatMessageRole;
|
|
6
|
+
content: unknown;
|
|
7
|
+
status?: ChatMessageStatus;
|
|
8
|
+
}>;
|
|
9
|
+
emptyLabel?: unknown;
|
|
10
|
+
class?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const ChatThread: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
13
|
+
messages: {
|
|
14
|
+
type: () => Array<{
|
|
15
|
+
id: string;
|
|
16
|
+
role?: ChatMessageRole;
|
|
17
|
+
content: unknown;
|
|
18
|
+
status?: ChatMessageStatus;
|
|
19
|
+
}>;
|
|
20
|
+
default: undefined;
|
|
21
|
+
};
|
|
22
|
+
emptyLabel: {
|
|
23
|
+
type: () => unknown;
|
|
24
|
+
default: string;
|
|
25
|
+
};
|
|
26
|
+
class: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: undefined;
|
|
29
|
+
};
|
|
30
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
33
|
+
messages: {
|
|
34
|
+
type: () => Array<{
|
|
35
|
+
id: string;
|
|
36
|
+
role?: ChatMessageRole;
|
|
37
|
+
content: unknown;
|
|
38
|
+
status?: ChatMessageStatus;
|
|
39
|
+
}>;
|
|
40
|
+
default: undefined;
|
|
41
|
+
};
|
|
42
|
+
emptyLabel: {
|
|
43
|
+
type: () => unknown;
|
|
44
|
+
default: string;
|
|
45
|
+
};
|
|
46
|
+
class: {
|
|
47
|
+
type: StringConstructor;
|
|
48
|
+
default: undefined;
|
|
49
|
+
};
|
|
50
|
+
}>> & Readonly<{}>, {
|
|
51
|
+
class: string;
|
|
52
|
+
messages: {
|
|
53
|
+
id: string;
|
|
54
|
+
role?: ChatMessageRole;
|
|
55
|
+
content: unknown;
|
|
56
|
+
status?: ChatMessageStatus;
|
|
57
|
+
}[];
|
|
58
|
+
emptyLabel: string;
|
|
59
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
60
|
+
//# sourceMappingURL=ChatThread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatThread.d.ts","sourceRoot":"","sources":["../src/ChatThread.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAC5B,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU;;cAIF,MAAM,KAAK,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,CAAC,EAAE,eAAe,CAAC;YACvB,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;SAC5B,CAAC;;;;cAG+C,MAAM,OAAO;;;;;;;;;;;cAR/C,MAAM,KAAK,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,CAAC,EAAE,eAAe,CAAC;YACvB,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;SAC5B,CAAC;;;;cAG+C,MAAM,OAAO;;;;;;;;;;YAPxD,MAAM;eACH,eAAe;iBACb,OAAO;iBACP,iBAAiB;;;4EAqChC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { classNames } from "./classNames.js";
|
|
3
|
+
import { ChatMessage } from "./ChatMessage.js";
|
|
4
|
+
export const ChatThread = defineComponent({
|
|
5
|
+
name: "ChatThread",
|
|
6
|
+
props: {
|
|
7
|
+
messages: {
|
|
8
|
+
type: Array,
|
|
9
|
+
default: undefined,
|
|
10
|
+
},
|
|
11
|
+
emptyLabel: { type: [String, Object], default: "No messages" },
|
|
12
|
+
class: { type: String, default: undefined },
|
|
13
|
+
},
|
|
14
|
+
setup(props, { slots, attrs }) {
|
|
15
|
+
return () => {
|
|
16
|
+
const emptyLabel = props.emptyLabel ?? "No messages";
|
|
17
|
+
const ariaLabel = attrs["aria-label"] ?? "Chat thread";
|
|
18
|
+
let listContent;
|
|
19
|
+
if (props.messages?.length) {
|
|
20
|
+
listContent = props.messages.map((message) => h(ChatMessage, {
|
|
21
|
+
key: message.id,
|
|
22
|
+
...(message.role ? { role: message.role } : {}),
|
|
23
|
+
...(message.status ? { status: message.status } : {}),
|
|
24
|
+
content: message.content,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
else if (slots.default) {
|
|
28
|
+
listContent = slots.default();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
listContent = [h("p", { class: "st-chatThread__empty" }, emptyLabel)];
|
|
32
|
+
}
|
|
33
|
+
return h("section", {
|
|
34
|
+
...attrs,
|
|
35
|
+
class: classNames("st-chatThread", props.class),
|
|
36
|
+
"aria-label": ariaLabel,
|
|
37
|
+
}, [h("div", { class: "st-chatThread__list" }, listContent)]);
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=ChatThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatThread.js","sourceRoot":"","sources":["../src/ChatThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc/C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,KAKJ;YACF,OAAO,EAAE,SAAS;SACnB;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,aAAa,EAAE;QAC1F,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE;YACV,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,aAAa,CAAC;YACrD,MAAM,SAAS,GAAI,KAAK,CAAC,YAAY,CAAwB,IAAI,aAAa,CAAC;YAC/E,IAAI,WAAW,CAAC;YAChB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3B,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,CAAC,CAAC,WAAW,EAAE;oBACb,GAAG,EAAE,OAAO,CAAC,EAAE;oBACf,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,OAAO,EAAE,OAAO,CAAC,OAAiB;iBACR,CAAC,CAC9B,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,UAAoB,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,CAAC,CACN,SAAS,EACT;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC/C,YAAY,EAAE,SAAS;aACxB,EACD,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,WAAW,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|