@robot-admin/naive-ui-components 0.11.8 → 0.12.1

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.
Files changed (179) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +145 -28
  3. package/README_EN.md +145 -28
  4. package/SECURITY.md +1 -0
  5. package/dist/C_ActionBar.cjs +1 -1
  6. package/dist/C_ActionBar.css +53 -53
  7. package/dist/C_ActionBar.d.cts +2 -2
  8. package/dist/C_ActionBar.d.ts +2 -2
  9. package/dist/C_ActionBar.js +1 -1
  10. package/dist/C_ActionBar2.cjs +1 -1
  11. package/dist/C_ActionBar2.js +1 -1
  12. package/dist/C_AntV.css +67 -67
  13. package/dist/C_AntV2.cjs +3 -3
  14. package/dist/C_AntV2.js +3 -3
  15. package/dist/C_AudioPlayer.d.cts +1 -1
  16. package/dist/C_AudioPlayer.d.ts +1 -1
  17. package/dist/C_AvatarGroup.d.cts +1 -1
  18. package/dist/C_AvatarGroup.d.ts +1 -1
  19. package/dist/C_Barcode.d.cts +1 -1
  20. package/dist/C_Barcode.d.ts +1 -1
  21. package/dist/C_Breadcrumb.d.cts +1 -1
  22. package/dist/C_Breadcrumb.d.ts +1 -1
  23. package/dist/C_Captcha.cjs +1 -1
  24. package/dist/C_Captcha.css +193 -51
  25. package/dist/C_Captcha.d.cts +2 -3
  26. package/dist/C_Captcha.d.ts +2 -3
  27. package/dist/C_Captcha.js +1 -1
  28. package/dist/C_Captcha2.cjs +1 -1
  29. package/dist/C_Captcha2.js +1 -1
  30. package/dist/C_Cascade.d.cts +1 -1
  31. package/dist/C_Cascade.d.ts +1 -1
  32. package/dist/C_Chat.d.cts +1 -1
  33. package/dist/C_Chat.d.ts +1 -1
  34. package/dist/C_City.d.cts +1 -1
  35. package/dist/C_City.d.ts +1 -1
  36. package/dist/C_Code.d.cts +1 -1
  37. package/dist/C_Code.d.ts +1 -1
  38. package/dist/C_ContextMenu.d.cts +1 -1
  39. package/dist/C_ContextMenu.d.ts +1 -1
  40. package/dist/C_Date.d.cts +1 -1
  41. package/dist/C_Date.d.ts +1 -1
  42. package/dist/C_Editor.d.cts +1 -1
  43. package/dist/C_Editor.d.ts +1 -1
  44. package/dist/C_FormModal.cjs +1 -0
  45. package/dist/C_FormModal.css +41 -0
  46. package/dist/C_FormModal.d.cts +2 -0
  47. package/dist/C_FormModal.d.ts +3 -0
  48. package/dist/C_FormModal.js +1 -0
  49. package/dist/C_FormModal2.cjs +1 -0
  50. package/dist/C_FormModal2.js +1 -0
  51. package/dist/C_Login.css +210 -127
  52. package/dist/C_Login2.cjs +1 -1
  53. package/dist/C_Login2.js +1 -1
  54. package/dist/C_Map.css +3 -3
  55. package/dist/C_Map2.cjs +1 -1
  56. package/dist/C_Map2.js +1 -1
  57. package/dist/C_Menu.d.cts +1 -1
  58. package/dist/C_Table.base.css +86 -86
  59. package/dist/C_Table.cjs +1 -1
  60. package/dist/C_Table.css +86 -86
  61. package/dist/C_Table.d.ts +4 -3
  62. package/dist/C_Table.js +1 -1
  63. package/dist/C_Tabs.cjs +1 -0
  64. package/dist/C_Tabs.css +1 -0
  65. package/dist/C_Tabs.d.cts +2 -0
  66. package/dist/C_Tabs.d.ts +2 -0
  67. package/dist/C_Tabs.js +1 -0
  68. package/dist/C_TagsView.css +38 -38
  69. package/dist/C_TagsView2.cjs +1 -1
  70. package/dist/C_TagsView2.js +1 -1
  71. package/dist/constants.d.cts +2 -2
  72. package/dist/constants.d.ts +2 -2
  73. package/dist/constants2.d.cts +3 -3
  74. package/dist/constants2.d.ts +3 -3
  75. package/dist/constants3.d.cts +2 -2
  76. package/dist/constants3.d.ts +2 -2
  77. package/dist/constants4.d.cts +2 -2
  78. package/dist/constants4.d.ts +2 -2
  79. package/dist/constants5.d.cts +2 -2
  80. package/dist/constants5.d.ts +2 -2
  81. package/dist/data.d.cts +108 -0
  82. package/dist/data.d.ts +108 -0
  83. package/dist/data2.cjs +1 -0
  84. package/dist/data2.js +1 -0
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.d.cts +49 -48
  87. package/dist/index.d.ts +51 -49
  88. package/dist/index.js +1 -1
  89. package/dist/index.vue.d.cts +72 -69
  90. package/dist/index.vue.d.ts +72 -69
  91. package/dist/index10.vue.d.cts +80 -39
  92. package/dist/index10.vue.d.ts +68 -77
  93. package/dist/index11.vue.d.cts +68 -77
  94. package/dist/index11.vue.d.ts +53 -68
  95. package/dist/index12.vue.d.cts +53 -68
  96. package/dist/index12.vue.d.ts +52 -58
  97. package/dist/index13.vue.d.cts +52 -58
  98. package/dist/index13.vue.d.ts +3 -3
  99. package/dist/index14.vue.d.cts +3 -3
  100. package/dist/index14.vue.d.ts +4 -4
  101. package/dist/index15.vue.d.cts +4 -4
  102. package/dist/index15.vue.d.ts +2 -2
  103. package/dist/index16.vue.d.cts +2 -2
  104. package/dist/index16.vue.d.ts +15 -12
  105. package/dist/index17.vue.d.cts +15 -12
  106. package/dist/index17.vue.d.ts +3 -3
  107. package/dist/index18.vue.d.cts +3 -3
  108. package/dist/index2.vue.d.cts +70 -65
  109. package/dist/index2.vue.d.ts +70 -65
  110. package/dist/index20.vue.d.cts +1 -1
  111. package/dist/index20.vue.d.ts +1 -1
  112. package/dist/index21.vue.d.cts +2 -2
  113. package/dist/index21.vue.d.ts +2 -2
  114. package/dist/index22.vue.d.cts +2 -2
  115. package/dist/index22.vue.d.ts +2 -2
  116. package/dist/index24.vue.d.cts +2 -2
  117. package/dist/index24.vue.d.ts +2 -2
  118. package/dist/index26.vue.d.cts +3 -3
  119. package/dist/index26.vue.d.ts +3 -3
  120. package/dist/index27.vue.d.cts +2 -2
  121. package/dist/index27.vue.d.ts +2 -2
  122. package/dist/index3.vue.d.cts +30 -80
  123. package/dist/index3.vue.d.ts +30 -80
  124. package/dist/index4.vue.d.cts +130 -30
  125. package/dist/index4.vue.d.ts +22 -30
  126. package/dist/index5.vue.d.cts +18 -126
  127. package/dist/index5.vue.d.ts +22 -19
  128. package/dist/index6.vue.d.cts +22 -19
  129. package/dist/index6.vue.d.ts +117 -22
  130. package/dist/index7.vue.d.cts +117 -22
  131. package/dist/index7.vue.d.ts +17 -110
  132. package/dist/index8.vue.d.cts +17 -110
  133. package/dist/index8.vue.d.ts +37 -24
  134. package/dist/index9.vue.d.cts +37 -24
  135. package/dist/index9.vue.d.ts +80 -39
  136. package/dist/mapUtils.d.cts +1 -1
  137. package/dist/mapUtils.d.ts +1 -1
  138. package/dist/presets.d.cts +96 -0
  139. package/dist/presets.d.ts +96 -0
  140. package/dist/resolver.cjs +1 -1
  141. package/dist/resolver.d.cts +1 -1
  142. package/dist/resolver.d.ts +1 -1
  143. package/dist/resolver.js +1 -1
  144. package/dist/style.css +501 -374
  145. package/dist/useCalendarEvents.d.cts +2 -2
  146. package/dist/useCalendarEvents.d.ts +2 -2
  147. package/dist/useCollapsePanel.d.cts +3 -3
  148. package/dist/useCollapsePanel.d.ts +3 -3
  149. package/dist/useCropperCore.d.cts +7 -7
  150. package/dist/useCropperCore.d.ts +7 -7
  151. package/dist/useDraggableLayout.d.cts +3 -3
  152. package/dist/useDraggableLayout.d.ts +3 -3
  153. package/dist/useDynamicFormState.d.cts +2 -2
  154. package/dist/useDynamicFormState.d.ts +2 -2
  155. package/dist/useEdgeInteraction.d.cts +2 -1
  156. package/dist/useEdgeInteraction.d.ts +2 -1
  157. package/dist/useInfiniteScroll.d.cts +3 -3
  158. package/dist/useInfiniteScroll.d.ts +3 -3
  159. package/dist/useQRCode.d.cts +2 -2
  160. package/dist/useQRCode.d.ts +2 -2
  161. package/dist/useSearchState.d.cts +9 -9
  162. package/dist/useSearchState.d.ts +9 -9
  163. package/dist/useSplitResize.d.cts +7 -7
  164. package/dist/useSplitResize.d.ts +7 -7
  165. package/dist/useTableQuery.cjs +3 -3
  166. package/dist/useTableQuery.d.cts +11 -1
  167. package/dist/useTableQuery.d.ts +11 -1
  168. package/dist/useTableQuery.js +3 -3
  169. package/dist/useTimeSelection.d.cts +3 -3
  170. package/dist/useTimeSelection.d.ts +3 -3
  171. package/dist/useTreeOperations.d.cts +6 -6
  172. package/dist/useTreeOperations.d.ts +6 -6
  173. package/dist/useWorkflowValidation.d.cts +5 -5
  174. package/dist/useWorkflowValidation.d.ts +5 -5
  175. package/dist/verification.d.cts +69 -4
  176. package/dist/verification.d.ts +69 -4
  177. package/package.json +2 -1
  178. package/dist/types.d.ts +0 -58
  179. package/dist/types2.d.cts +0 -58
@@ -1,29 +1,32 @@
1
- import { t as BreadcrumbItem } from "./types.cjs";
2
1
  import * as vue from "vue";
3
2
 
4
- //#region src/components/C_Breadcrumb/index.vue.d.ts
3
+ //#region src/components/C_Cascade/types.d.ts
4
+ interface CascadeItem {
5
+ label: string;
6
+ value: string | number;
7
+ children?: CascadeItem[];
8
+ }
9
+ interface CascadeValue {
10
+ primary?: Pick<CascadeItem, 'label' | 'value'> | null;
11
+ secondary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
+ tertiary?: Pick<CascadeItem, 'label' | 'value'> | null;
13
+ }
14
+ //#endregion
15
+ //#region src/components/C_Cascade/index.vue.d.ts
5
16
  type __VLS_Props = {
6
- /**
7
- * 手动传入面包屑数据
8
- * 不传时自动从 `route.matched` 生成(零配置)
9
- */
10
- items?: BreadcrumbItem[]; /** 是否显示图标 */
11
- showIcon?: boolean; /** 图标大小 (px),默认 16 */
12
- iconSize?: number;
13
- /**
14
- * 标签文本格式化函数(用于 i18n)
15
- * 仅在自动模式下生效
16
- */
17
- labelFormatter?: (label: string) => string;
17
+ data: CascadeItem[];
18
+ placeholders?: string[];
19
+ modelValue?: CascadeValue;
18
20
  };
19
21
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
20
- select: (path: string) => any;
22
+ change: (value: CascadeValue) => any;
23
+ "update:modelValue": (value: CascadeValue) => any;
21
24
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
22
- onSelect?: ((path: string) => any) | undefined;
25
+ onChange?: ((value: CascadeValue) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((value: CascadeValue) => any) | undefined;
23
27
  }>, {
24
- showIcon: boolean;
25
- iconSize: number;
28
+ placeholders: string[];
26
29
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
27
30
  declare const _default: typeof __VLS_export;
28
31
  //#endregion
29
- export { _default as t };
32
+ export { CascadeItem as n, CascadeValue as r, _default as t };
@@ -1,32 +1,127 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Cascade/types.d.ts
4
- interface CascadeItem {
5
- label: string;
6
- value: string | number;
7
- children?: CascadeItem[];
3
+ //#region src/components/C_Chat/types.d.ts
4
+ /**
5
+ * @Description: C_Chat 通用聊天组件 - 类型定义
6
+ */
7
+ /** 消息类型 */
8
+ type MessageType = 'text' | 'image' | 'file' | 'system';
9
+ /** 消息发送方 */
10
+ type MessageSender = 'self' | 'other' | 'system';
11
+ /** 消息状态 */
12
+ type MessageStatus = 'sending' | 'sent' | 'failed';
13
+ /** 单条消息 */
14
+ interface ChatMessage {
15
+ /** 唯一标识 */
16
+ id: string;
17
+ /** 消息内容(文本 / 图片 URL / 文件信息 JSON) */
18
+ content: string;
19
+ /** 消息类型 */
20
+ type: MessageType;
21
+ /** 发送方 */
22
+ sender: MessageSender;
23
+ /** 发送时间(ISO 字符串 或 时间戳) */
24
+ timestamp: string | number;
25
+ /** 发送者头像 URL */
26
+ avatar?: string;
27
+ /** 发送者用户名 */
28
+ username?: string;
29
+ /** 消息状态 */
30
+ status?: MessageStatus;
31
+ /** 文件名(type = 'file' 时使用) */
32
+ fileName?: string;
33
+ /** 文件大小(字节) */
34
+ fileSize?: number;
8
35
  }
9
- interface CascadeValue {
10
- primary?: Pick<CascadeItem, 'label' | 'value'> | null;
11
- secondary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
- tertiary?: Pick<CascadeItem, 'label' | 'value'> | null;
36
+ /** 联系人 / 会话 */
37
+ interface ChatContact {
38
+ /** 唯一标识 */
39
+ id: string;
40
+ /** 显示名称 */
41
+ name: string;
42
+ /** 头像 URL */
43
+ avatar?: string;
44
+ /** 最后一条消息摘要 */
45
+ lastMessage?: string;
46
+ /** 最后消息时间 */
47
+ lastTime?: string | number;
48
+ /** 未读数 */
49
+ unread?: number;
50
+ /** 是否在线 */
51
+ online?: boolean;
13
52
  }
53
+ interface ChatProps {
54
+ /** 联系人列表 */
55
+ contacts?: ChatContact[];
56
+ /** 消息列表 */
57
+ messages?: ChatMessage[];
58
+ /** 当前选中的联系人 ID */
59
+ currentContactId?: string;
60
+ /** 输入框占位符 */
61
+ placeholder?: string;
62
+ /** 是否显示联系人侧栏 */
63
+ showContacts?: boolean;
64
+ /** 是否显示消息时间戳 */
65
+ showTimestamp?: boolean;
66
+ /** 当前用户头像 */
67
+ selfAvatar?: string;
68
+ /** 当前用户名 */
69
+ selfName?: string;
70
+ /** 是否显示发送按钮 */
71
+ showSendBtn?: boolean;
72
+ /** 是否正在加载历史消息 */
73
+ loadingHistory?: boolean;
74
+ /** 标题(无联系人模式时显示) */
75
+ title?: string;
76
+ }
77
+ declare const DEFAULT_CHAT_PROPS: Required<Pick<ChatProps, 'placeholder' | 'showContacts' | 'showTimestamp' | 'showSendBtn' | 'loadingHistory' | 'title'>>;
14
78
  //#endregion
15
- //#region src/components/C_Cascade/index.vue.d.ts
16
- type __VLS_Props = {
17
- data: CascadeItem[];
18
- placeholders?: string[];
19
- modelValue?: CascadeValue;
79
+ //#region src/components/C_Chat/index.vue.d.ts
80
+ declare var __VLS_18: {}, __VLS_30: {};
81
+ type __VLS_Slots = {} & {
82
+ header?: (props: typeof __VLS_18) => any;
83
+ } & {
84
+ 'input-actions'?: (props: typeof __VLS_30) => any;
20
85
  };
21
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
22
- "update:modelValue": (value: CascadeValue) => any;
23
- change: (value: CascadeValue) => any;
24
- }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: CascadeValue) => any) | undefined;
26
- onChange?: ((value: CascadeValue) => any) | undefined;
86
+ declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
+ scrollToBottom: () => void;
88
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
+ send: (content: string) => any;
90
+ "select-contact": (id: string) => any;
91
+ "load-more": () => any;
92
+ "image-preview": (url: string) => any;
93
+ "file-click": (msg: ChatMessage) => any;
94
+ "file-upload": () => any;
95
+ "emoji-click": () => any;
96
+ resend: (msg: ChatMessage) => any;
97
+ }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
+ onSend?: ((content: string) => any) | undefined;
99
+ "onSelect-contact"?: ((id: string) => any) | undefined;
100
+ "onLoad-more"?: (() => any) | undefined;
101
+ "onImage-preview"?: ((url: string) => any) | undefined;
102
+ "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
+ "onFile-upload"?: (() => any) | undefined;
104
+ "onEmoji-click"?: (() => any) | undefined;
105
+ onResend?: ((msg: ChatMessage) => any) | undefined;
27
106
  }>, {
28
- placeholders: string[];
107
+ title: string;
108
+ placeholder: string;
109
+ showContacts: boolean;
110
+ showTimestamp: boolean;
111
+ showSendBtn: boolean;
112
+ loadingHistory: boolean;
113
+ contacts: ChatContact[];
114
+ messages: ChatMessage[];
115
+ currentContactId: string;
116
+ selfAvatar: string;
117
+ selfName: string;
29
118
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
119
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
120
  declare const _default: typeof __VLS_export;
121
+ type __VLS_WithSlots<T, S> = T & {
122
+ new (): {
123
+ $slots: S;
124
+ };
125
+ };
31
126
  //#endregion
32
- export { CascadeItem as n, CascadeValue as r, _default as t };
127
+ export { DEFAULT_CHAT_PROPS as a, MessageType as c, ChatProps as i, ChatContact as n, MessageSender as o, ChatMessage as r, MessageStatus as s, _default as t };
@@ -1,32 +1,127 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Cascade/types.d.ts
4
- interface CascadeItem {
5
- label: string;
6
- value: string | number;
7
- children?: CascadeItem[];
3
+ //#region src/components/C_Chat/types.d.ts
4
+ /**
5
+ * @Description: C_Chat 通用聊天组件 - 类型定义
6
+ */
7
+ /** 消息类型 */
8
+ type MessageType = 'text' | 'image' | 'file' | 'system';
9
+ /** 消息发送方 */
10
+ type MessageSender = 'self' | 'other' | 'system';
11
+ /** 消息状态 */
12
+ type MessageStatus = 'sending' | 'sent' | 'failed';
13
+ /** 单条消息 */
14
+ interface ChatMessage {
15
+ /** 唯一标识 */
16
+ id: string;
17
+ /** 消息内容(文本 / 图片 URL / 文件信息 JSON) */
18
+ content: string;
19
+ /** 消息类型 */
20
+ type: MessageType;
21
+ /** 发送方 */
22
+ sender: MessageSender;
23
+ /** 发送时间(ISO 字符串 或 时间戳) */
24
+ timestamp: string | number;
25
+ /** 发送者头像 URL */
26
+ avatar?: string;
27
+ /** 发送者用户名 */
28
+ username?: string;
29
+ /** 消息状态 */
30
+ status?: MessageStatus;
31
+ /** 文件名(type = 'file' 时使用) */
32
+ fileName?: string;
33
+ /** 文件大小(字节) */
34
+ fileSize?: number;
8
35
  }
9
- interface CascadeValue {
10
- primary?: Pick<CascadeItem, 'label' | 'value'> | null;
11
- secondary?: Pick<CascadeItem, 'label' | 'value'> | null;
12
- tertiary?: Pick<CascadeItem, 'label' | 'value'> | null;
36
+ /** 联系人 / 会话 */
37
+ interface ChatContact {
38
+ /** 唯一标识 */
39
+ id: string;
40
+ /** 显示名称 */
41
+ name: string;
42
+ /** 头像 URL */
43
+ avatar?: string;
44
+ /** 最后一条消息摘要 */
45
+ lastMessage?: string;
46
+ /** 最后消息时间 */
47
+ lastTime?: string | number;
48
+ /** 未读数 */
49
+ unread?: number;
50
+ /** 是否在线 */
51
+ online?: boolean;
13
52
  }
53
+ interface ChatProps {
54
+ /** 联系人列表 */
55
+ contacts?: ChatContact[];
56
+ /** 消息列表 */
57
+ messages?: ChatMessage[];
58
+ /** 当前选中的联系人 ID */
59
+ currentContactId?: string;
60
+ /** 输入框占位符 */
61
+ placeholder?: string;
62
+ /** 是否显示联系人侧栏 */
63
+ showContacts?: boolean;
64
+ /** 是否显示消息时间戳 */
65
+ showTimestamp?: boolean;
66
+ /** 当前用户头像 */
67
+ selfAvatar?: string;
68
+ /** 当前用户名 */
69
+ selfName?: string;
70
+ /** 是否显示发送按钮 */
71
+ showSendBtn?: boolean;
72
+ /** 是否正在加载历史消息 */
73
+ loadingHistory?: boolean;
74
+ /** 标题(无联系人模式时显示) */
75
+ title?: string;
76
+ }
77
+ declare const DEFAULT_CHAT_PROPS: Required<Pick<ChatProps, 'placeholder' | 'showContacts' | 'showTimestamp' | 'showSendBtn' | 'loadingHistory' | 'title'>>;
14
78
  //#endregion
15
- //#region src/components/C_Cascade/index.vue.d.ts
16
- type __VLS_Props = {
17
- data: CascadeItem[];
18
- placeholders?: string[];
19
- modelValue?: CascadeValue;
79
+ //#region src/components/C_Chat/index.vue.d.ts
80
+ declare var __VLS_18: {}, __VLS_30: {};
81
+ type __VLS_Slots = {} & {
82
+ header?: (props: typeof __VLS_18) => any;
83
+ } & {
84
+ 'input-actions'?: (props: typeof __VLS_30) => any;
20
85
  };
21
- declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
22
- "update:modelValue": (value: CascadeValue) => any;
23
- change: (value: CascadeValue) => any;
24
- }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: CascadeValue) => any) | undefined;
26
- onChange?: ((value: CascadeValue) => any) | undefined;
86
+ declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
+ scrollToBottom: () => void;
88
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
+ send: (content: string) => any;
90
+ "select-contact": (id: string) => any;
91
+ "load-more": () => any;
92
+ "image-preview": (url: string) => any;
93
+ "file-click": (msg: ChatMessage) => any;
94
+ "file-upload": () => any;
95
+ "emoji-click": () => any;
96
+ resend: (msg: ChatMessage) => any;
97
+ }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
+ onSend?: ((content: string) => any) | undefined;
99
+ "onSelect-contact"?: ((id: string) => any) | undefined;
100
+ "onLoad-more"?: (() => any) | undefined;
101
+ "onImage-preview"?: ((url: string) => any) | undefined;
102
+ "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
+ "onFile-upload"?: (() => any) | undefined;
104
+ "onEmoji-click"?: (() => any) | undefined;
105
+ onResend?: ((msg: ChatMessage) => any) | undefined;
27
106
  }>, {
28
- placeholders: string[];
107
+ title: string;
108
+ placeholder: string;
109
+ showContacts: boolean;
110
+ showTimestamp: boolean;
111
+ showSendBtn: boolean;
112
+ loadingHistory: boolean;
113
+ contacts: ChatContact[];
114
+ messages: ChatMessage[];
115
+ currentContactId: string;
116
+ selfAvatar: string;
117
+ selfName: string;
29
118
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
119
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
120
  declare const _default: typeof __VLS_export;
121
+ type __VLS_WithSlots<T, S> = T & {
122
+ new (): {
123
+ $slots: S;
124
+ };
125
+ };
31
126
  //#endregion
32
- export { CascadeItem as n, CascadeValue as r, _default as t };
127
+ export { DEFAULT_CHAT_PROPS as a, MessageType as c, ChatProps as i, ChatContact as n, MessageSender as o, ChatMessage as r, MessageStatus as s, _default as t };
@@ -1,120 +1,27 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Chat/types.d.ts
4
- /**
5
- * @Description: C_Chat 通用聊天组件 - 类型定义
6
- */
7
- /** 消息类型 */
8
- type MessageType = 'text' | 'image' | 'file' | 'system';
9
- /** 消息发送方 */
10
- type MessageSender = 'self' | 'other' | 'system';
11
- /** 消息状态 */
12
- type MessageStatus = 'sending' | 'sent' | 'failed';
13
- /** 单条消息 */
14
- interface ChatMessage {
15
- /** 唯一标识 */
16
- id: string;
17
- /** 消息内容(文本 / 图片 URL / 文件信息 JSON) */
18
- content: string;
19
- /** 消息类型 */
20
- type: MessageType;
21
- /** 发送方 */
22
- sender: MessageSender;
23
- /** 发送时间(ISO 字符串 或 时间戳) */
24
- timestamp: string | number;
25
- /** 发送者头像 URL */
26
- avatar?: string;
27
- /** 发送者用户名 */
28
- username?: string;
29
- /** 消息状态 */
30
- status?: MessageStatus;
31
- /** 文件名(type = 'file' 时使用) */
32
- fileName?: string;
33
- /** 文件大小(字节) */
34
- fileSize?: number;
35
- }
36
- /** 联系人 / 会话 */
37
- interface ChatContact {
38
- /** 唯一标识 */
39
- id: string;
40
- /** 显示名称 */
41
- name: string;
42
- /** 头像 URL */
43
- avatar?: string;
44
- /** 最后一条消息摘要 */
45
- lastMessage?: string;
46
- /** 最后消息时间 */
47
- lastTime?: string | number;
48
- /** 未读数 */
49
- unread?: number;
50
- /** 是否在线 */
51
- online?: boolean;
52
- }
53
- interface ChatProps {
54
- /** 联系人列表 */
55
- contacts?: ChatContact[];
56
- /** 消息列表 */
57
- messages?: ChatMessage[];
58
- /** 当前选中的联系人 ID */
59
- currentContactId?: string;
60
- /** 输入框占位符 */
3
+ //#region src/components/C_City/index.vue.d.ts
4
+ interface Props {
5
+ modelValue?: string;
61
6
  placeholder?: string;
62
- /** 是否显示联系人侧栏 */
63
- showContacts?: boolean;
64
- /** 是否显示消息时间戳 */
65
- showTimestamp?: boolean;
66
- /** 当前用户头像 */
67
- selfAvatar?: string;
68
- /** 当前用户名 */
69
- selfName?: string;
70
- /** 是否显示发送按钮 */
71
- showSendBtn?: boolean;
72
- /** 是否正在加载历史消息 */
73
- loadingHistory?: boolean;
74
- /** 标题(无联系人模式时显示) */
75
- title?: string;
7
+ showLetters?: boolean;
76
8
  }
77
- declare const DEFAULT_CHAT_PROPS: Required<Pick<ChatProps, 'placeholder' | 'showContacts' | 'showTimestamp' | 'showSendBtn' | 'loadingHistory' | 'title'>>;
78
- //#endregion
79
- //#region src/components/C_Chat/index.vue.d.ts
80
- declare var __VLS_18: {}, __VLS_30: {};
9
+ declare var __VLS_9: {
10
+ value: string | undefined;
11
+ visible: boolean;
12
+ };
81
13
  type __VLS_Slots = {} & {
82
- header?: (props: typeof __VLS_18) => any;
83
- } & {
84
- 'input-actions'?: (props: typeof __VLS_30) => any;
14
+ trigger?: (props: typeof __VLS_9) => any;
85
15
  };
86
- declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
- scrollToBottom: () => void;
88
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
- send: (content: string) => any;
90
- "select-contact": (id: string) => any;
91
- "load-more": () => any;
92
- "image-preview": (url: string) => any;
93
- "file-click": (msg: ChatMessage) => any;
94
- "file-upload": () => any;
95
- "emoji-click": () => any;
96
- resend: (msg: ChatMessage) => any;
97
- }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
- onSend?: ((content: string) => any) | undefined;
99
- "onSelect-contact"?: ((id: string) => any) | undefined;
100
- "onLoad-more"?: (() => any) | undefined;
101
- "onImage-preview"?: ((url: string) => any) | undefined;
102
- "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
- "onFile-upload"?: (() => any) | undefined;
104
- "onEmoji-click"?: (() => any) | undefined;
105
- onResend?: ((msg: ChatMessage) => any) | undefined;
16
+ declare const __VLS_base: vue.DefineComponent<Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
17
+ change: (value: string) => any;
18
+ "update:modelValue": (value: string) => any;
19
+ }, string, vue.PublicProps, Readonly<Props> & Readonly<{
20
+ onChange?: ((value: string) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
106
22
  }>, {
107
23
  placeholder: string;
108
- title: string;
109
- showContacts: boolean;
110
- showTimestamp: boolean;
111
- showSendBtn: boolean;
112
- loadingHistory: boolean;
113
- contacts: ChatContact[];
114
- messages: ChatMessage[];
115
- currentContactId: string;
116
- selfAvatar: string;
117
- selfName: string;
24
+ showLetters: boolean;
118
25
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
119
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
120
27
  declare const _default: typeof __VLS_export;
@@ -124,4 +31,4 @@ type __VLS_WithSlots<T, S> = T & {
124
31
  };
125
32
  };
126
33
  //#endregion
127
- export { DEFAULT_CHAT_PROPS as a, MessageType as c, ChatProps as i, ChatContact as n, MessageSender as o, ChatMessage as r, MessageStatus as s, _default as t };
34
+ export { _default as t };
@@ -1,120 +1,27 @@
1
1
  import * as vue from "vue";
2
2
 
3
- //#region src/components/C_Chat/types.d.ts
4
- /**
5
- * @Description: C_Chat 通用聊天组件 - 类型定义
6
- */
7
- /** 消息类型 */
8
- type MessageType = 'text' | 'image' | 'file' | 'system';
9
- /** 消息发送方 */
10
- type MessageSender = 'self' | 'other' | 'system';
11
- /** 消息状态 */
12
- type MessageStatus = 'sending' | 'sent' | 'failed';
13
- /** 单条消息 */
14
- interface ChatMessage {
15
- /** 唯一标识 */
16
- id: string;
17
- /** 消息内容(文本 / 图片 URL / 文件信息 JSON) */
18
- content: string;
19
- /** 消息类型 */
20
- type: MessageType;
21
- /** 发送方 */
22
- sender: MessageSender;
23
- /** 发送时间(ISO 字符串 或 时间戳) */
24
- timestamp: string | number;
25
- /** 发送者头像 URL */
26
- avatar?: string;
27
- /** 发送者用户名 */
28
- username?: string;
29
- /** 消息状态 */
30
- status?: MessageStatus;
31
- /** 文件名(type = 'file' 时使用) */
32
- fileName?: string;
33
- /** 文件大小(字节) */
34
- fileSize?: number;
35
- }
36
- /** 联系人 / 会话 */
37
- interface ChatContact {
38
- /** 唯一标识 */
39
- id: string;
40
- /** 显示名称 */
41
- name: string;
42
- /** 头像 URL */
43
- avatar?: string;
44
- /** 最后一条消息摘要 */
45
- lastMessage?: string;
46
- /** 最后消息时间 */
47
- lastTime?: string | number;
48
- /** 未读数 */
49
- unread?: number;
50
- /** 是否在线 */
51
- online?: boolean;
52
- }
53
- interface ChatProps {
54
- /** 联系人列表 */
55
- contacts?: ChatContact[];
56
- /** 消息列表 */
57
- messages?: ChatMessage[];
58
- /** 当前选中的联系人 ID */
59
- currentContactId?: string;
60
- /** 输入框占位符 */
3
+ //#region src/components/C_City/index.vue.d.ts
4
+ interface Props {
5
+ modelValue?: string;
61
6
  placeholder?: string;
62
- /** 是否显示联系人侧栏 */
63
- showContacts?: boolean;
64
- /** 是否显示消息时间戳 */
65
- showTimestamp?: boolean;
66
- /** 当前用户头像 */
67
- selfAvatar?: string;
68
- /** 当前用户名 */
69
- selfName?: string;
70
- /** 是否显示发送按钮 */
71
- showSendBtn?: boolean;
72
- /** 是否正在加载历史消息 */
73
- loadingHistory?: boolean;
74
- /** 标题(无联系人模式时显示) */
75
- title?: string;
7
+ showLetters?: boolean;
76
8
  }
77
- declare const DEFAULT_CHAT_PROPS: Required<Pick<ChatProps, 'placeholder' | 'showContacts' | 'showTimestamp' | 'showSendBtn' | 'loadingHistory' | 'title'>>;
78
- //#endregion
79
- //#region src/components/C_Chat/index.vue.d.ts
80
- declare var __VLS_18: {}, __VLS_30: {};
9
+ declare var __VLS_9: {
10
+ value: string | undefined;
11
+ visible: boolean;
12
+ };
81
13
  type __VLS_Slots = {} & {
82
- header?: (props: typeof __VLS_18) => any;
83
- } & {
84
- 'input-actions'?: (props: typeof __VLS_30) => any;
14
+ trigger?: (props: typeof __VLS_9) => any;
85
15
  };
86
- declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
- scrollToBottom: () => void;
88
- }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
- send: (content: string) => any;
90
- "select-contact": (id: string) => any;
91
- "load-more": () => any;
92
- "image-preview": (url: string) => any;
93
- "file-click": (msg: ChatMessage) => any;
94
- "file-upload": () => any;
95
- "emoji-click": () => any;
96
- resend: (msg: ChatMessage) => any;
97
- }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
- onSend?: ((content: string) => any) | undefined;
99
- "onSelect-contact"?: ((id: string) => any) | undefined;
100
- "onLoad-more"?: (() => any) | undefined;
101
- "onImage-preview"?: ((url: string) => any) | undefined;
102
- "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
- "onFile-upload"?: (() => any) | undefined;
104
- "onEmoji-click"?: (() => any) | undefined;
105
- onResend?: ((msg: ChatMessage) => any) | undefined;
16
+ declare const __VLS_base: vue.DefineComponent<Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
17
+ change: (value: string) => any;
18
+ "update:modelValue": (value: string) => any;
19
+ }, string, vue.PublicProps, Readonly<Props> & Readonly<{
20
+ onChange?: ((value: string) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
106
22
  }>, {
107
23
  placeholder: string;
108
- title: string;
109
- showContacts: boolean;
110
- showTimestamp: boolean;
111
- showSendBtn: boolean;
112
- loadingHistory: boolean;
113
- contacts: ChatContact[];
114
- messages: ChatMessage[];
115
- currentContactId: string;
116
- selfAvatar: string;
117
- selfName: string;
24
+ showLetters: boolean;
118
25
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
119
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
120
27
  declare const _default: typeof __VLS_export;
@@ -124,4 +31,4 @@ type __VLS_WithSlots<T, S> = T & {
124
31
  };
125
32
  };
126
33
  //#endregion
127
- export { DEFAULT_CHAT_PROPS as a, MessageType as c, ChatProps as i, ChatContact as n, MessageSender as o, ChatMessage as r, MessageStatus as s, _default as t };
34
+ export { _default as t };