@mtchat/vue-primevue 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.
@@ -0,0 +1,24 @@
1
+ import { MtAccordionProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<MtAccordionProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ "update:modelValue": (value: string | string[]) => any;
13
+ }, string, import('vue').PublicProps, Readonly<MtAccordionProps> & Readonly<{
14
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
15
+ }>, {
16
+ multiple: boolean;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
19
+ export default _default;
20
+ type __VLS_WithTemplateSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,20 @@
1
+ import { MtAccordionPanelProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<MtAccordionPanelProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<MtAccordionPanelProps> & Readonly<{}>, {
12
+ disabled: boolean;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,29 @@
1
+ import { MtButtonProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<MtButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ click: (event: MouseEvent) => any;
13
+ }, string, import('vue').PublicProps, Readonly<MtButtonProps> & Readonly<{
14
+ onClick?: ((event: MouseEvent) => any) | undefined;
15
+ }>, {
16
+ variant: import('@mtchat/vue').MtButtonVariant;
17
+ size: import('@mtchat/vue').MtButtonSize;
18
+ disabled: boolean;
19
+ loading: boolean;
20
+ type: "button" | "submit" | "reset";
21
+ icon: boolean;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
+ export default _default;
25
+ type __VLS_WithTemplateSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,9 @@
1
+ import { MtCheckboxProps } from '@mtchat/vue';
2
+ declare const _default: import('vue').DefineComponent<MtCheckboxProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: boolean) => any;
4
+ }, string, import('vue').PublicProps, Readonly<MtCheckboxProps> & Readonly<{
5
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
6
+ }>, {
7
+ disabled: boolean;
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
9
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { MtContextMenuProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ 'item-icon'?(_: {
6
+ item: import('primevue/menuitem').MenuItem;
7
+ }): any;
8
+ };
9
+ refs: {
10
+ menuRef: ({
11
+ $props: import('primevue/contextmenu').ContextMenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
12
+ $slots: import('primevue/contextmenu').ContextMenuSlots;
13
+ $emit: ((e: "hide") => void) & ((e: "show") => void) & ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void) & ((e: "before-show") => void) & ((e: "before-hide") => void);
14
+ } & import('primevue/contextmenu').ContextMenuMethods) | null;
15
+ };
16
+ rootEl: any;
17
+ };
18
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
+ declare const __VLS_component: import('vue').DefineComponent<MtContextMenuProps, {
20
+ show: (event: MouseEvent) => void;
21
+ hide: () => void;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
23
+ hide: () => any;
24
+ select: (item: import('@mtchat/vue').MtMenuItem) => any;
25
+ }, string, import('vue').PublicProps, Readonly<MtContextMenuProps> & Readonly<{
26
+ onHide?: (() => any) | undefined;
27
+ onSelect?: ((item: import('@mtchat/vue').MtMenuItem) => any) | undefined;
28
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
29
+ menuRef: ({
30
+ $props: import('primevue/contextmenu').ContextMenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
31
+ $slots: import('primevue/contextmenu').ContextMenuSlots;
32
+ $emit: ((e: "hide") => void) & ((e: "show") => void) & ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void) & ((e: "before-show") => void) & ((e: "before-hide") => void);
33
+ } & import('primevue/contextmenu').ContextMenuMethods) | null;
34
+ }, any>;
35
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
+ export default _default;
37
+ type __VLS_WithTemplateSlots<T, S> = T & {
38
+ new (): {
39
+ $slots: S;
40
+ };
41
+ };
@@ -0,0 +1,30 @@
1
+ import { MtDialogProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ footer?(_: {}): any;
7
+ };
8
+ refs: {};
9
+ rootEl: any;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: import('vue').DefineComponent<MtDialogProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
13
+ "update:visible": (value: boolean) => any;
14
+ close: () => any;
15
+ }, string, import('vue').PublicProps, Readonly<MtDialogProps> & Readonly<{
16
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
17
+ onClose?: (() => any) | undefined;
18
+ }>, {
19
+ draggable: boolean;
20
+ modal: boolean;
21
+ closable: boolean;
22
+ maxWidth: string;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,30 @@
1
+ import { MtInputProps } from '@mtchat/vue';
2
+ declare const _default: import('vue').DefineComponent<MtInputProps, {
3
+ focus: () => void;
4
+ select: () => void;
5
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
6
+ focus: (event: FocusEvent) => any;
7
+ blur: (event: FocusEvent) => any;
8
+ "update:modelValue": (value: string) => any;
9
+ clear: () => any;
10
+ keydown: (event: KeyboardEvent) => any;
11
+ }, string, import('vue').PublicProps, Readonly<MtInputProps> & Readonly<{
12
+ onFocus?: ((event: FocusEvent) => any) | undefined;
13
+ onBlur?: ((event: FocusEvent) => any) | undefined;
14
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
15
+ onClear?: (() => any) | undefined;
16
+ onKeydown?: ((event: KeyboardEvent) => any) | undefined;
17
+ }>, {
18
+ size: "sm" | "md" | "lg";
19
+ disabled: boolean;
20
+ type: "text" | "password" | "email" | "url" | "search";
21
+ invalid: boolean;
22
+ clearable: boolean;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ inputRef: {
25
+ $props: import('primevue/inputtext').InputTextProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
26
+ $slots: import('primevue/inputtext').InputTextSlots;
27
+ $emit: ((e: "update:modelValue", value: string | undefined) => void) & ((e: "value-change", value: string | undefined) => void);
28
+ } | null;
29
+ }, HTMLDivElement>;
30
+ export default _default;
@@ -0,0 +1,44 @@
1
+ import { MtMenuProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ 'item-icon'?(_: {
6
+ item: import('primevue/menuitem').MenuItem;
7
+ }): any;
8
+ };
9
+ refs: {
10
+ menuRef: ({
11
+ $props: import('primevue/menu').MenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
12
+ $slots: import('primevue/menu').MenuSlots;
13
+ $emit: ((e: "hide") => void) & ((e: "show") => void) & ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void);
14
+ } & import('primevue/menu').MenuMethods) | null;
15
+ };
16
+ rootEl: any;
17
+ };
18
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
+ declare const __VLS_component: import('vue').DefineComponent<MtMenuProps, {
20
+ toggle: (event: Event) => void;
21
+ show: (event: Event) => void;
22
+ hide: () => void;
23
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
24
+ hide: () => any;
25
+ select: (item: import('@mtchat/vue').MtMenuItem) => any;
26
+ }, string, import('vue').PublicProps, Readonly<MtMenuProps> & Readonly<{
27
+ onHide?: (() => any) | undefined;
28
+ onSelect?: ((item: import('@mtchat/vue').MtMenuItem) => any) | undefined;
29
+ }>, {
30
+ popup: boolean;
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
32
+ menuRef: ({
33
+ $props: import('primevue/menu').MenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
34
+ $slots: import('primevue/menu').MenuSlots;
35
+ $emit: ((e: "hide") => void) & ((e: "show") => void) & ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void);
36
+ } & import('primevue/menu').MenuMethods) | null;
37
+ }, any>;
38
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
39
+ export default _default;
40
+ type __VLS_WithTemplateSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,9 @@
1
+ import { MtRadioButtonProps } from '@mtchat/vue';
2
+ declare const _default: import('vue').DefineComponent<MtRadioButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: unknown) => any;
4
+ }, string, import('vue').PublicProps, Readonly<MtRadioButtonProps> & Readonly<{
5
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
6
+ }>, {
7
+ disabled: boolean;
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { MtTabProps } from '@mtchat/vue';
2
+ declare const _default: import('vue').DefineComponent<MtTabProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<MtTabProps> & Readonly<{}>, {
3
+ disabled: boolean;
4
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import { MtTabsProps } from '@mtchat/vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<MtTabsProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ "update:modelValue": (value: string) => any;
13
+ }, string, import('vue').PublicProps, Readonly<MtTabsProps> & Readonly<{
14
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * PrimeVue UI Primitives
3
+ *
4
+ * Adapter components that wrap PrimeVue components
5
+ * to match the MTChat registry interface.
6
+ */
7
+ export { default as PrimeButton } from './PrimeButton.vue';
8
+ export { default as PrimeDialog } from './PrimeDialog.vue';
9
+ export { default as PrimeMenu } from './PrimeMenu.vue';
10
+ export { default as PrimeContextMenu } from './PrimeContextMenu.vue';
11
+ export { default as PrimeInput } from './PrimeInput.vue';
12
+ export { default as PrimeCheckbox } from './PrimeCheckbox.vue';
13
+ export { default as PrimeRadioButton } from './PrimeRadioButton.vue';
14
+ export { default as PrimeTabs } from './PrimeTabs.vue';
15
+ export { default as PrimeTab } from './PrimeTab.vue';
16
+ export { default as PrimeAccordion } from './PrimeAccordion.vue';
17
+ export { default as PrimeAccordionPanel } from './PrimeAccordionPanel.vue';
@@ -0,0 +1,5 @@
1
+ import { ComponentRegistry } from '@mtchat/vue';
2
+ /**
3
+ * PrimeVue registry with all components mapped to PrimeVue equivalents
4
+ */
5
+ export declare const primevueRegistry: ComponentRegistry;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * MTChat PrimeVue Aura Theme
3
+ *
4
+ * Maps PrimeVue design tokens to MTChat CSS variables.
5
+ * Works with any PrimeVue preset (Aura, Lara, Nora, etc.)
6
+ *
7
+ * Theme modes:
8
+ * - Light: default, uses --p-surface-0 as background
9
+ * - Dark: activated by .mtchat-prime--dark class or PrimeVue dark mode selector
10
+ *
11
+ * Customization:
12
+ * - Override PrimeVue tokens (--p-*) via your preset configuration
13
+ * - Override MTChat tokens (--mtchat-*) via CSS on .mtchat-prime class
14
+ */
15
+
16
+ /* Base styles and layout tokens (theme-independent) */
17
+ .mtchat-prime {
18
+ /* Layout tokens */
19
+ --mtchat-header-height: 57px;
20
+ --mtchat-resizer-width: 2px;
21
+
22
+ /* Spacing tokens */
23
+ --mtchat-spacing-xs: 4px;
24
+ --mtchat-spacing-sm: 8px;
25
+ --mtchat-spacing-md: 12px;
26
+ --mtchat-spacing-lg: 16px;
27
+
28
+ /* Border radius - match PrimeVue */
29
+ --mtchat-border-radius: var(--p-border-radius, 6px);
30
+ --mtchat-border-radius-lg: var(--p-border-radius-lg, 8px);
31
+
32
+ /* Font */
33
+ --mtchat-font-family: var(--p-font-family, inherit);
34
+ }
35
+
36
+ /*
37
+ * Theme overrides for PrimeVue integration.
38
+ *
39
+ * MTChat.vue has built-in .mtchat--light/dark with hardcoded fallback colors
40
+ * (scoped styles, specificity 0,2,0). We use .mtchat-prime .mtchat--* selectors
41
+ * (specificity 0,3,0) to override them with PrimeVue design tokens.
42
+ */
43
+
44
+ /* Light theme */
45
+ .mtchat-prime.mtchat-prime--light .mtchat--light {
46
+ /* Background colors */
47
+ --mtchat-bg: var(--p-surface-0, #ffffff);
48
+ --mtchat-bg-secondary: var(--p-surface-50, #fafafa);
49
+ --mtchat-bg-hover: var(--p-surface-100, #f4f4f5);
50
+
51
+ /* Text colors */
52
+ --mtchat-text: var(--p-text-color, #3f3f46);
53
+ --mtchat-text-secondary: var(--p-text-muted-color, #71717a);
54
+
55
+ /* Border */
56
+ --mtchat-border: var(--p-surface-200, #e4e4e7);
57
+
58
+ /* Semantic colors */
59
+ --mtchat-primary: var(--p-primary-color, #6366f1);
60
+ --mtchat-primary-bg: color-mix(in srgb, var(--p-primary-color, #6366f1) 10%, transparent);
61
+ --mtchat-danger: var(--p-red-500, #ef4444);
62
+ --mtchat-success: var(--p-green-500, #22c55e);
63
+ --mtchat-warning: var(--p-yellow-500, #eab308);
64
+ }
65
+
66
+ /* Dark theme */
67
+ .mtchat-prime.mtchat-prime--dark .mtchat--dark {
68
+ /* Background colors - use darker surfaces */
69
+ --mtchat-bg: var(--p-surface-900, #18181b);
70
+ --mtchat-bg-secondary: var(--p-surface-800, #27272a);
71
+ --mtchat-bg-hover: var(--p-surface-700, #3f3f46);
72
+
73
+ /* Text colors - lighter for dark bg */
74
+ --mtchat-text: var(--p-surface-0, #fafafa);
75
+ --mtchat-text-secondary: var(--p-surface-400, #a1a1aa);
76
+
77
+ /* Border */
78
+ --mtchat-border: var(--p-surface-700, #3f3f46);
79
+
80
+ /* Semantic colors - slightly brighter for dark mode */
81
+ --mtchat-primary: var(--p-primary-400, #818cf8);
82
+ --mtchat-primary-bg: color-mix(in srgb, var(--p-primary-400, #818cf8) 15%, transparent);
83
+ --mtchat-danger: var(--p-red-400, #f87171);
84
+ --mtchat-success: var(--p-green-400, #4ade80);
85
+ --mtchat-warning: var(--p-yellow-400, #facc15);
86
+ }
87
+
88
+ /* Support PrimeVue dark mode selectors (when theme prop not explicitly set) */
89
+ .dark-mode .mtchat-prime:not(.mtchat-prime--light):not(.mtchat-prime--dark) .mtchat,
90
+ .p-dark .mtchat-prime:not(.mtchat-prime--light):not(.mtchat-prime--dark) .mtchat {
91
+ /* Background colors */
92
+ --mtchat-bg: var(--p-surface-900, #18181b);
93
+ --mtchat-bg-secondary: var(--p-surface-800, #27272a);
94
+ --mtchat-bg-hover: var(--p-surface-700, #3f3f46);
95
+
96
+ /* Text colors */
97
+ --mtchat-text: var(--p-surface-0, #fafafa);
98
+ --mtchat-text-secondary: var(--p-surface-400, #a1a1aa);
99
+
100
+ /* Border */
101
+ --mtchat-border: var(--p-surface-700, #3f3f46);
102
+
103
+ /* Semantic colors */
104
+ --mtchat-primary: var(--p-primary-400, #818cf8);
105
+ --mtchat-primary-bg: color-mix(in srgb, var(--p-primary-400, #818cf8) 15%, transparent);
106
+ --mtchat-danger: var(--p-red-400, #f87171);
107
+ --mtchat-success: var(--p-green-400, #4ade80);
108
+ --mtchat-warning: var(--p-yellow-400, #facc15);
109
+ }
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@mtchat/vue-primevue",
3
+ "version": "0.1.0",
4
+ "description": "MTChat Vue.js SDK - PrimeVue UI integration",
5
+ "type": "module",
6
+ "main": "./dist/mtchat-vue-primevue.umd.cjs",
7
+ "module": "./dist/mtchat-vue-primevue.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/mtchat-vue-primevue.js",
12
+ "require": "./dist/mtchat-vue-primevue.umd.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./theme/aura.css": "./dist/theme/aura.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "dev": "vite build --watch",
22
+ "build": "vue-tsc --noEmit && vite build",
23
+ "typecheck": "vue-tsc --noEmit"
24
+ },
25
+ "peerDependencies": {
26
+ "vue": "^3.4.0",
27
+ "primevue": "^4.0.0"
28
+ },
29
+ "devDependencies": {
30
+ "@mtchat/vue": "file:../mtchat-vue",
31
+ "@vitejs/plugin-vue": "^5.0.0",
32
+ "primevue": "^4.2.0",
33
+ "typescript": "^5.3.0",
34
+ "vite": "^6.0.0",
35
+ "vite-plugin-css-injected-by-js": "^3.5.0",
36
+ "vite-plugin-dts": "^4.0.0",
37
+ "vue": "^3.4.0",
38
+ "vue-tsc": "^2.0.0"
39
+ },
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "https://github.com/example/mtchat-vue"
43
+ },
44
+ "keywords": [
45
+ "chat",
46
+ "vue",
47
+ "primevue",
48
+ "mtchat"
49
+ ],
50
+ "license": "MIT"
51
+ }