@skdx/vue-blocks 0.34.0 → 0.35.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.
Files changed (239) hide show
  1. package/dist/chat-composer/ChatComposer.vue.cjs +1 -0
  2. package/dist/chat-composer/ChatComposer.vue.d.cts +104 -0
  3. package/dist/chat-composer/ChatComposer.vue.d.ts +104 -0
  4. package/dist/chat-composer/ChatComposer.vue.js +1 -0
  5. package/dist/chat-composer/ChatComposer.vue_vue_type_script_setup_true_lang.cjs +1 -0
  6. package/dist/chat-composer/ChatComposer.vue_vue_type_script_setup_true_lang.js +1 -0
  7. package/dist/chat-composer/index.cjs +1 -0
  8. package/dist/chat-composer/index.d.cts +2 -0
  9. package/dist/chat-composer/index.d.ts +2 -0
  10. package/dist/chat-composer/index.js +1 -0
  11. package/dist/chat-composer/types.d.cts +7 -0
  12. package/dist/chat-composer/types.d.ts +7 -0
  13. package/dist/chat-message/ChatMessage.vue.cjs +1 -0
  14. package/dist/chat-message/ChatMessage.vue.d.cts +73 -0
  15. package/dist/chat-message/ChatMessage.vue.d.ts +73 -0
  16. package/dist/chat-message/ChatMessage.vue.js +1 -0
  17. package/dist/chat-message/ChatMessage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  18. package/dist/chat-message/ChatMessage.vue_vue_type_script_setup_true_lang.js +1 -0
  19. package/dist/chat-message/index.cjs +1 -0
  20. package/dist/chat-message/index.d.cts +1 -0
  21. package/dist/chat-message/index.d.ts +1 -0
  22. package/dist/chat-message/index.js +1 -0
  23. package/dist/chat-message/types.d.cts +0 -0
  24. package/dist/chat-message/types.d.ts +0 -0
  25. package/dist/comment/Comment.vue.cjs +1 -0
  26. package/dist/comment/Comment.vue.d.cts +65 -0
  27. package/dist/comment/Comment.vue.d.ts +65 -0
  28. package/dist/comment/Comment.vue.js +1 -0
  29. package/dist/comment/Comment.vue_vue_type_script_setup_true_lang.cjs +1 -0
  30. package/dist/comment/Comment.vue_vue_type_script_setup_true_lang.js +1 -0
  31. package/dist/comment/index.cjs +1 -0
  32. package/dist/comment/index.d.cts +1 -0
  33. package/dist/comment/index.d.ts +1 -0
  34. package/dist/comment/index.js +1 -0
  35. package/dist/comment/types.d.cts +0 -0
  36. package/dist/comment/types.d.ts +0 -0
  37. package/dist/comment-thread/CommentThread.vue.cjs +1 -0
  38. package/dist/comment-thread/CommentThread.vue.d.cts +65 -0
  39. package/dist/comment-thread/CommentThread.vue.d.ts +65 -0
  40. package/dist/comment-thread/CommentThread.vue.js +1 -0
  41. package/dist/comment-thread/CommentThread.vue_vue_type_script_setup_true_lang.cjs +1 -0
  42. package/dist/comment-thread/CommentThread.vue_vue_type_script_setup_true_lang.js +1 -0
  43. package/dist/comment-thread/index.cjs +1 -0
  44. package/dist/comment-thread/index.d.cts +1 -0
  45. package/dist/comment-thread/index.d.ts +1 -0
  46. package/dist/comment-thread/index.js +1 -0
  47. package/dist/comment-thread/types.d.cts +0 -0
  48. package/dist/comment-thread/types.d.ts +0 -0
  49. package/dist/confirm-dialog/ConfirmDialog.vue.cjs +1 -0
  50. package/dist/confirm-dialog/ConfirmDialog.vue.d.cts +114 -0
  51. package/dist/confirm-dialog/ConfirmDialog.vue.d.ts +114 -0
  52. package/dist/confirm-dialog/ConfirmDialog.vue.js +1 -0
  53. package/dist/confirm-dialog/ConfirmDialog.vue_vue_type_script_setup_true_lang.cjs +1 -0
  54. package/dist/confirm-dialog/ConfirmDialog.vue_vue_type_script_setup_true_lang.js +1 -0
  55. package/dist/confirm-dialog/index.cjs +1 -0
  56. package/dist/confirm-dialog/index.d.cts +2 -0
  57. package/dist/confirm-dialog/index.d.ts +2 -0
  58. package/dist/confirm-dialog/index.js +1 -0
  59. package/dist/confirm-dialog/types.d.cts +2 -0
  60. package/dist/confirm-dialog/types.d.ts +2 -0
  61. package/dist/conversation-list/ConversationList.vue.cjs +1 -0
  62. package/dist/conversation-list/ConversationList.vue.d.cts +86 -0
  63. package/dist/conversation-list/ConversationList.vue.d.ts +86 -0
  64. package/dist/conversation-list/ConversationList.vue.js +1 -0
  65. package/dist/conversation-list/ConversationList.vue_vue_type_script_setup_true_lang.cjs +1 -0
  66. package/dist/conversation-list/ConversationList.vue_vue_type_script_setup_true_lang.js +1 -0
  67. package/dist/conversation-list/index.cjs +1 -0
  68. package/dist/conversation-list/index.d.cts +2 -0
  69. package/dist/conversation-list/index.d.ts +2 -0
  70. package/dist/conversation-list/index.js +1 -0
  71. package/dist/conversation-list/types.d.cts +38 -0
  72. package/dist/conversation-list/types.d.ts +38 -0
  73. package/dist/empty-state/EmptyState.vue.cjs +1 -0
  74. package/dist/empty-state/EmptyState.vue.d.cts +57 -0
  75. package/dist/empty-state/EmptyState.vue.d.ts +57 -0
  76. package/dist/empty-state/EmptyState.vue.js +1 -0
  77. package/dist/empty-state/EmptyState.vue_vue_type_script_setup_true_lang.cjs +1 -0
  78. package/dist/empty-state/EmptyState.vue_vue_type_script_setup_true_lang.js +1 -0
  79. package/dist/empty-state/index.cjs +1 -0
  80. package/dist/empty-state/index.d.cts +2 -0
  81. package/dist/empty-state/index.d.ts +2 -0
  82. package/dist/empty-state/index.js +1 -0
  83. package/dist/empty-state/types.d.cts +6 -0
  84. package/dist/empty-state/types.d.ts +6 -0
  85. package/dist/filter-bar/FilterBar.vue.cjs +1 -0
  86. package/dist/filter-bar/FilterBar.vue.d.cts +97 -0
  87. package/dist/filter-bar/FilterBar.vue.d.ts +97 -0
  88. package/dist/filter-bar/FilterBar.vue.js +1 -0
  89. package/dist/filter-bar/FilterBar.vue_vue_type_script_setup_true_lang.cjs +1 -0
  90. package/dist/filter-bar/FilterBar.vue_vue_type_script_setup_true_lang.js +1 -0
  91. package/dist/filter-bar/index.cjs +1 -0
  92. package/dist/filter-bar/index.d.cts +2 -0
  93. package/dist/filter-bar/index.d.ts +2 -0
  94. package/dist/filter-bar/index.js +1 -0
  95. package/dist/filter-bar/types.d.cts +7 -0
  96. package/dist/filter-bar/types.d.ts +7 -0
  97. package/dist/forgot-password-page/ForgotPasswordPage.vue.cjs +1 -0
  98. package/dist/forgot-password-page/ForgotPasswordPage.vue.d.cts +76 -0
  99. package/dist/forgot-password-page/ForgotPasswordPage.vue.d.ts +76 -0
  100. package/dist/forgot-password-page/ForgotPasswordPage.vue.js +1 -0
  101. package/dist/forgot-password-page/ForgotPasswordPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  102. package/dist/forgot-password-page/ForgotPasswordPage.vue_vue_type_script_setup_true_lang.js +1 -0
  103. package/dist/forgot-password-page/index.cjs +1 -0
  104. package/dist/forgot-password-page/index.d.cts +2 -0
  105. package/dist/forgot-password-page/index.d.ts +2 -0
  106. package/dist/forgot-password-page/index.js +1 -0
  107. package/dist/forgot-password-page/types.d.cts +5 -0
  108. package/dist/forgot-password-page/types.d.ts +5 -0
  109. package/dist/form-section/FormSection.vue.cjs +1 -0
  110. package/dist/form-section/FormSection.vue.d.cts +49 -0
  111. package/dist/form-section/FormSection.vue.d.ts +49 -0
  112. package/dist/form-section/FormSection.vue.js +1 -0
  113. package/dist/form-section/FormSection.vue_vue_type_script_setup_true_lang.cjs +1 -0
  114. package/dist/form-section/FormSection.vue_vue_type_script_setup_true_lang.js +1 -0
  115. package/dist/form-section/index.cjs +1 -0
  116. package/dist/form-section/index.d.cts +2 -0
  117. package/dist/form-section/index.d.ts +2 -0
  118. package/dist/form-section/index.js +1 -0
  119. package/dist/form-section/types.d.cts +2 -0
  120. package/dist/form-section/types.d.ts +2 -0
  121. package/dist/index.cjs +1 -1
  122. package/dist/index.d.cts +19 -0
  123. package/dist/index.d.ts +19 -0
  124. package/dist/index.js +1 -1
  125. package/dist/notification-center/NotificationCenter.vue.cjs +1 -0
  126. package/dist/notification-center/NotificationCenter.vue.d.cts +111 -0
  127. package/dist/notification-center/NotificationCenter.vue.d.ts +111 -0
  128. package/dist/notification-center/NotificationCenter.vue.js +1 -0
  129. package/dist/notification-center/NotificationCenter.vue_vue_type_script_setup_true_lang.cjs +1 -0
  130. package/dist/notification-center/NotificationCenter.vue_vue_type_script_setup_true_lang.js +1 -0
  131. package/dist/notification-center/index.cjs +1 -0
  132. package/dist/notification-center/index.d.cts +2 -0
  133. package/dist/notification-center/index.d.ts +2 -0
  134. package/dist/notification-center/index.js +1 -0
  135. package/dist/notification-center/types.d.cts +23 -0
  136. package/dist/notification-center/types.d.ts +23 -0
  137. package/dist/onboarding-checklist/OnboardingChecklist.vue.cjs +1 -0
  138. package/dist/onboarding-checklist/OnboardingChecklist.vue.d.cts +59 -0
  139. package/dist/onboarding-checklist/OnboardingChecklist.vue.d.ts +59 -0
  140. package/dist/onboarding-checklist/OnboardingChecklist.vue.js +1 -0
  141. package/dist/onboarding-checklist/OnboardingChecklist.vue_vue_type_script_setup_true_lang.cjs +1 -0
  142. package/dist/onboarding-checklist/OnboardingChecklist.vue_vue_type_script_setup_true_lang.js +1 -0
  143. package/dist/onboarding-checklist/index.cjs +1 -0
  144. package/dist/onboarding-checklist/index.d.cts +3 -0
  145. package/dist/onboarding-checklist/index.d.ts +3 -0
  146. package/dist/onboarding-checklist/index.js +1 -0
  147. package/dist/onboarding-checklist/types.cjs +1 -0
  148. package/dist/onboarding-checklist/types.d.cts +31 -0
  149. package/dist/onboarding-checklist/types.d.ts +31 -0
  150. package/dist/onboarding-checklist/types.js +1 -0
  151. package/dist/reset-password-page/ResetPasswordPage.vue.cjs +1 -0
  152. package/dist/reset-password-page/ResetPasswordPage.vue.d.cts +85 -0
  153. package/dist/reset-password-page/ResetPasswordPage.vue.d.ts +85 -0
  154. package/dist/reset-password-page/ResetPasswordPage.vue.js +1 -0
  155. package/dist/reset-password-page/ResetPasswordPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  156. package/dist/reset-password-page/ResetPasswordPage.vue_vue_type_script_setup_true_lang.js +1 -0
  157. package/dist/reset-password-page/index.cjs +1 -0
  158. package/dist/reset-password-page/index.d.cts +2 -0
  159. package/dist/reset-password-page/index.d.ts +2 -0
  160. package/dist/reset-password-page/index.js +1 -0
  161. package/dist/reset-password-page/types.d.cts +5 -0
  162. package/dist/reset-password-page/types.d.ts +5 -0
  163. package/dist/sign-up-page/SignUpPage.vue.cjs +1 -0
  164. package/dist/sign-up-page/SignUpPage.vue.d.cts +105 -0
  165. package/dist/sign-up-page/SignUpPage.vue.d.ts +105 -0
  166. package/dist/sign-up-page/SignUpPage.vue.js +1 -0
  167. package/dist/sign-up-page/SignUpPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  168. package/dist/sign-up-page/SignUpPage.vue_vue_type_script_setup_true_lang.js +1 -0
  169. package/dist/sign-up-page/index.cjs +1 -0
  170. package/dist/sign-up-page/index.d.cts +2 -0
  171. package/dist/sign-up-page/index.d.ts +2 -0
  172. package/dist/sign-up-page/index.js +1 -0
  173. package/dist/sign-up-page/types.d.cts +25 -0
  174. package/dist/sign-up-page/types.d.ts +25 -0
  175. package/dist/stat-card/StatCard.vue.cjs +1 -0
  176. package/dist/stat-card/StatCard.vue.d.cts +80 -0
  177. package/dist/stat-card/StatCard.vue.d.ts +80 -0
  178. package/dist/stat-card/StatCard.vue.js +1 -0
  179. package/dist/stat-card/StatCard.vue_vue_type_script_setup_true_lang.cjs +1 -0
  180. package/dist/stat-card/StatCard.vue_vue_type_script_setup_true_lang.js +1 -0
  181. package/dist/stat-card/index.cjs +1 -0
  182. package/dist/stat-card/index.d.cts +2 -0
  183. package/dist/stat-card/index.d.ts +2 -0
  184. package/dist/stat-card/index.js +1 -0
  185. package/dist/stat-card/types.d.cts +4 -0
  186. package/dist/stat-card/types.d.ts +4 -0
  187. package/dist/usage-card/UsageCard.vue.cjs +1 -0
  188. package/dist/usage-card/UsageCard.vue.d.cts +66 -0
  189. package/dist/usage-card/UsageCard.vue.d.ts +66 -0
  190. package/dist/usage-card/UsageCard.vue.js +1 -0
  191. package/dist/usage-card/UsageCard.vue_vue_type_script_setup_true_lang.cjs +1 -0
  192. package/dist/usage-card/UsageCard.vue_vue_type_script_setup_true_lang.js +1 -0
  193. package/dist/usage-card/index.cjs +1 -0
  194. package/dist/usage-card/index.d.cts +2 -0
  195. package/dist/usage-card/index.d.ts +2 -0
  196. package/dist/usage-card/index.js +1 -0
  197. package/dist/usage-card/types.d.cts +2 -0
  198. package/dist/usage-card/types.d.ts +2 -0
  199. package/dist/usage-card/usage.cjs +1 -0
  200. package/dist/usage-card/usage.d.cts +18 -0
  201. package/dist/usage-card/usage.d.ts +18 -0
  202. package/dist/usage-card/usage.js +1 -0
  203. package/dist/user-menu/UserMenu.vue.cjs +1 -0
  204. package/dist/user-menu/UserMenu.vue.d.cts +97 -0
  205. package/dist/user-menu/UserMenu.vue.d.ts +97 -0
  206. package/dist/user-menu/UserMenu.vue.js +1 -0
  207. package/dist/user-menu/UserMenu.vue_vue_type_script_setup_true_lang.cjs +1 -0
  208. package/dist/user-menu/UserMenu.vue_vue_type_script_setup_true_lang.js +1 -0
  209. package/dist/user-menu/index.cjs +1 -0
  210. package/dist/user-menu/index.d.cts +2 -0
  211. package/dist/user-menu/index.d.ts +2 -0
  212. package/dist/user-menu/index.js +1 -0
  213. package/dist/user-menu/types.d.cts +2 -0
  214. package/dist/user-menu/types.d.ts +2 -0
  215. package/dist/verification-page/VerificationPage.vue.cjs +1 -0
  216. package/dist/verification-page/VerificationPage.vue.d.cts +112 -0
  217. package/dist/verification-page/VerificationPage.vue.d.ts +112 -0
  218. package/dist/verification-page/VerificationPage.vue.js +1 -0
  219. package/dist/verification-page/VerificationPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  220. package/dist/verification-page/VerificationPage.vue_vue_type_script_setup_true_lang.js +1 -0
  221. package/dist/verification-page/index.cjs +1 -0
  222. package/dist/verification-page/index.d.cts +2 -0
  223. package/dist/verification-page/index.d.ts +2 -0
  224. package/dist/verification-page/index.js +1 -0
  225. package/dist/verification-page/types.d.cts +5 -0
  226. package/dist/verification-page/types.d.ts +5 -0
  227. package/dist/workspace-switcher/WorkspaceSwitcher.vue.cjs +1 -0
  228. package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.cts +135 -0
  229. package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.ts +135 -0
  230. package/dist/workspace-switcher/WorkspaceSwitcher.vue.js +1 -0
  231. package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.cjs +1 -0
  232. package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.js +1 -0
  233. package/dist/workspace-switcher/index.cjs +1 -0
  234. package/dist/workspace-switcher/index.d.cts +2 -0
  235. package/dist/workspace-switcher/index.d.ts +2 -0
  236. package/dist/workspace-switcher/index.js +1 -0
  237. package/dist/workspace-switcher/types.d.cts +22 -0
  238. package/dist/workspace-switcher/types.d.ts +22 -0
  239. package/package.json +193 -3
@@ -0,0 +1 @@
1
+ const e=require("./ChatComposer.vue_vue_type_script_setup_true_lang.cjs");var t=e.default;exports.default=t;
@@ -0,0 +1,104 @@
1
+ import type { ChatComposerSendDetail, ChatComposerSubmitKey } from './types.cjs';
2
+ /**
3
+ * Message composer block: an auto-growing Textarea and a submit Button inside a field, with consumer-supplied attachment, leading, trailing and footer regions and configurable Enter-to-send behaviour.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxChatComposer
8
+ * placeholder="Send a message…"
9
+ * :pending="isSending"
10
+ * @send="(detail) => send(detail.value)"
11
+ * />
12
+ * ```
13
+ */
14
+ type __VLS_Props = {
15
+ /**
16
+ * Current message text, for controlled usage. Pair with `v-model:value` or `@value-change`.
17
+ * @default undefined — uncontrolled, seeded from `defaultValue`.
18
+ */
19
+ value?: string | undefined;
20
+ /**
21
+ * Initial message text for uncontrolled usage, read only on mount.
22
+ * @default ''
23
+ */
24
+ defaultValue?: string;
25
+ /**
26
+ * Hint text shown in the empty textarea, rendered as the native placeholder.
27
+ * @default undefined — no placeholder text renders.
28
+ */
29
+ placeholder?: string | undefined;
30
+ /**
31
+ * Accessible name of the message textarea, read by assistive technology.
32
+ * @default 'Message'
33
+ */
34
+ label?: string;
35
+ /**
36
+ * Text of the send button, and its accessible name when the send-icon slot is filled.
37
+ * @default 'Send'
38
+ */
39
+ sendLabel?: string;
40
+ /**
41
+ * Which key sends from the textarea; every other Enter press inserts a newline.
42
+ * @default 'enter'
43
+ */
44
+ submitKey?: ChatComposerSubmitKey;
45
+ /**
46
+ * Caps how far the auto-growing textarea grows, in rows, before it scrolls.
47
+ * @default 8
48
+ */
49
+ maxRows?: number;
50
+ /**
51
+ * Native `maxlength` of the textarea — the longest message it accepts.
52
+ * @default undefined — no upper bound on the message length.
53
+ */
54
+ maxLength?: number | undefined;
55
+ /**
56
+ * Disables the textarea and the send button, blocking every send path.
57
+ * @default false
58
+ */
59
+ disabled?: boolean;
60
+ /**
61
+ * Marks a send in flight: the button is busy and inert, the textarea stays editable.
62
+ * @default false
63
+ */
64
+ pending?: boolean;
65
+ };
66
+ type __VLS_Slots = {
67
+ /** Controls rendered inside the field before the textarea, such as an attach button. */
68
+ leading?(): unknown;
69
+ /** Controls rendered inside the field after the textarea, such as a model picker. */
70
+ trailing?(): unknown;
71
+ /** Attached files or chips rendered in a row above the field. */
72
+ attachments?(): unknown;
73
+ /** Usage counters or hints rendered in a row below the field. */
74
+ footer?(): unknown;
75
+ /** Glyph rendered inside the send button in place of its text, making it icon-only. */
76
+ 'send-icon'?(): unknown;
77
+ };
78
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
79
+ "update:value": (value: string) => any;
80
+ "value-change": (value: string) => any;
81
+ send: (detail: ChatComposerSendDetail) => any;
82
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
83
+ "onUpdate:value"?: (value: string) => any;
84
+ "onValue-change"?: (value: string) => any;
85
+ onSend?: (detail: ChatComposerSendDetail) => any;
86
+ }>, {
87
+ label: string;
88
+ placeholder: string | undefined;
89
+ disabled: boolean;
90
+ value: string | undefined;
91
+ defaultValue: string;
92
+ pending: boolean;
93
+ sendLabel: string;
94
+ submitKey: ChatComposerSubmitKey;
95
+ maxRows: number;
96
+ maxLength: number | undefined;
97
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
98
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
99
+ export default _default;
100
+ type __VLS_WithSlots<T, S> = T & {
101
+ new (): {
102
+ $slots: S;
103
+ };
104
+ };
@@ -0,0 +1,104 @@
1
+ import type { ChatComposerSendDetail, ChatComposerSubmitKey } from './types.js';
2
+ /**
3
+ * Message composer block: an auto-growing Textarea and a submit Button inside a field, with consumer-supplied attachment, leading, trailing and footer regions and configurable Enter-to-send behaviour.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxChatComposer
8
+ * placeholder="Send a message…"
9
+ * :pending="isSending"
10
+ * @send="(detail) => send(detail.value)"
11
+ * />
12
+ * ```
13
+ */
14
+ type __VLS_Props = {
15
+ /**
16
+ * Current message text, for controlled usage. Pair with `v-model:value` or `@value-change`.
17
+ * @default undefined — uncontrolled, seeded from `defaultValue`.
18
+ */
19
+ value?: string | undefined;
20
+ /**
21
+ * Initial message text for uncontrolled usage, read only on mount.
22
+ * @default ''
23
+ */
24
+ defaultValue?: string;
25
+ /**
26
+ * Hint text shown in the empty textarea, rendered as the native placeholder.
27
+ * @default undefined — no placeholder text renders.
28
+ */
29
+ placeholder?: string | undefined;
30
+ /**
31
+ * Accessible name of the message textarea, read by assistive technology.
32
+ * @default 'Message'
33
+ */
34
+ label?: string;
35
+ /**
36
+ * Text of the send button, and its accessible name when the send-icon slot is filled.
37
+ * @default 'Send'
38
+ */
39
+ sendLabel?: string;
40
+ /**
41
+ * Which key sends from the textarea; every other Enter press inserts a newline.
42
+ * @default 'enter'
43
+ */
44
+ submitKey?: ChatComposerSubmitKey;
45
+ /**
46
+ * Caps how far the auto-growing textarea grows, in rows, before it scrolls.
47
+ * @default 8
48
+ */
49
+ maxRows?: number;
50
+ /**
51
+ * Native `maxlength` of the textarea — the longest message it accepts.
52
+ * @default undefined — no upper bound on the message length.
53
+ */
54
+ maxLength?: number | undefined;
55
+ /**
56
+ * Disables the textarea and the send button, blocking every send path.
57
+ * @default false
58
+ */
59
+ disabled?: boolean;
60
+ /**
61
+ * Marks a send in flight: the button is busy and inert, the textarea stays editable.
62
+ * @default false
63
+ */
64
+ pending?: boolean;
65
+ };
66
+ type __VLS_Slots = {
67
+ /** Controls rendered inside the field before the textarea, such as an attach button. */
68
+ leading?(): unknown;
69
+ /** Controls rendered inside the field after the textarea, such as a model picker. */
70
+ trailing?(): unknown;
71
+ /** Attached files or chips rendered in a row above the field. */
72
+ attachments?(): unknown;
73
+ /** Usage counters or hints rendered in a row below the field. */
74
+ footer?(): unknown;
75
+ /** Glyph rendered inside the send button in place of its text, making it icon-only. */
76
+ 'send-icon'?(): unknown;
77
+ };
78
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
79
+ "update:value": (value: string) => any;
80
+ "value-change": (value: string) => any;
81
+ send: (detail: ChatComposerSendDetail) => any;
82
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
83
+ "onUpdate:value"?: (value: string) => any;
84
+ "onValue-change"?: (value: string) => any;
85
+ onSend?: (detail: ChatComposerSendDetail) => any;
86
+ }>, {
87
+ label: string;
88
+ placeholder: string | undefined;
89
+ disabled: boolean;
90
+ value: string | undefined;
91
+ defaultValue: string;
92
+ pending: boolean;
93
+ sendLabel: string;
94
+ submitKey: ChatComposerSubmitKey;
95
+ maxRows: number;
96
+ maxLength: number | undefined;
97
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
98
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
99
+ export default _default;
100
+ type __VLS_WithSlots<T, S> = T & {
101
+ new (): {
102
+ $slots: S;
103
+ };
104
+ };
@@ -0,0 +1 @@
1
+ import e from"./ChatComposer.vue_vue_type_script_setup_true_lang.js";var t=e;export{t as default};
@@ -0,0 +1 @@
1
+ const o=require("../internal/part.cjs");let e=require("vue"),m=require("@skdx/vue");var h=["data-state"],k=(0,e.defineComponent)({__name:"ChatComposer",props:{value:{default:void 0},defaultValue:{default:""},placeholder:{default:void 0},label:{default:"Message"},sendLabel:{default:"Send"},submitKey:{default:"enter"},maxRows:{default:8},maxLength:{default:void 0},disabled:{type:Boolean,default:!1},pending:{type:Boolean,default:!1}},emits:["update:value","value-change","send"],setup(t,{emit:f}){const l=t,n=f,p=(0,e.useSlots)(),d=(0,e.ref)(l.defaultValue),r=(0,e.computed)(()=>l.value??d.value),s=(0,e.computed)(()=>r.value.trim().length>0),u=(0,e.computed)(()=>!!p["send-icon"]);function i(a){l.value===void 0&&(d.value=a),n("update:value",a),n("value-change",a)}function c(){l.disabled||l.pending||!s.value||(n("send",{value:r.value}),l.value===void 0&&i(""))}function v(a){a.preventDefault(),c()}function g(a){l.submitKey==="none"||a.key!=="Enter"||a.isComposing||(l.submitKey==="enter"?!a.shiftKey:a.metaKey||a.ctrlKey)&&(a.preventDefault(),c())}return(a,b)=>((0,e.openBlock)(),(0,e.createElementBlock)("form",(0,e.mergeProps)((0,e.unref)(o.skdxPart)("chat-composer","root"),{"data-state":t.pending?"pending":void 0,onSubmit:v}),[a.$slots.attachments?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(o.skdxPart)("chat-composer","attachments"))),[(0,e.renderSlot)(a.$slots,"attachments")],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(o.skdxPart)("chat-composer","field"))),[a.$slots.leading?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(o.skdxPart)("chat-composer","leading"))),[(0,e.renderSlot)(a.$slots,"leading")],16)):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(m.SkdxTextarea),(0,e.mergeProps)((0,e.unref)(o.skdxPart)("chat-composer","textarea"),{"aria-label":t.label,placeholder:t.placeholder,value:r.value,"auto-resize":"","min-rows":1,"max-rows":t.maxRows,"max-length":t.maxLength,disabled:t.disabled??!1,onValueChange:i,onKeydown:g}),null,16,["aria-label","placeholder","value","max-rows","max-length","disabled"]),a.$slots.trailing?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(o.skdxPart)("chat-composer","trailing"))),[(0,e.renderSlot)(a.$slots,"trailing")],16)):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(m.SkdxButton),(0,e.mergeProps)((0,e.unref)(o.skdxPart)("chat-composer","send"),{type:"submit",variant:"primary","icon-only":u.value,"aria-label":u.value?t.sendLabel:void 0,loading:t.pending??!1,disabled:t.disabled||t.pending||!s.value}),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$slots,"send-icon",{},()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.sendLabel),1)])]),_:3},16,["icon-only","aria-label","loading","disabled"])],16),a.$slots.footer?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(o.skdxPart)("chat-composer","footer"))),[(0,e.renderSlot)(a.$slots,"footer")],16)):(0,e.createCommentVNode)("",!0)],16,h))}});exports.default=k;
@@ -0,0 +1 @@
1
+ import{skdxPart as e}from"../internal/part.js";import{computed as a,createCommentVNode as t,createElementBlock as l,createElementVNode as o,createTextVNode as s,createVNode as n,defineComponent as d,guardReactiveProps as i,mergeProps as r,normalizeProps as u,openBlock as m,ref as c,renderSlot as p,toDisplayString as v,unref as f,useSlots as g,withCtx as h}from"vue";import{SkdxButton as b,SkdxTextarea as y}from"@skdx/vue";var x=["data-state"],k=/* @__PURE__ */d({__name:"ChatComposer",props:{value:{default:void 0},defaultValue:{default:""},placeholder:{default:void 0},label:{default:"Message"},sendLabel:{default:"Send"},submitKey:{default:"enter"},maxRows:{default:8},maxLength:{default:void 0},disabled:{type:Boolean,default:!1},pending:{type:Boolean,default:!1}},emits:["update:value","value-change","send"],setup(d,{emit:k}){const $=d,w=k,C=g(),K=c($.defaultValue),S=a(()=>$.value??K.value),V=a(()=>S.value.trim().length>0),B=a(()=>!!C["send-icon"]);function L(e){void 0===$.value&&(K.value=e),w("update:value",e),w("value-change",e)}function N(){$.disabled||$.pending||!V.value||(w("send",{value:S.value}),void 0===$.value&&L(""))}function P(e){e.preventDefault(),N()}function D(e){"none"===$.submitKey||"Enter"!==e.key||e.isComposing||("enter"===$.submitKey?!e.shiftKey:e.metaKey||e.ctrlKey)&&(e.preventDefault(),N())}return(a,c)=>(m(),l("form",r(f(e)("chat-composer","root"),{"data-state":d.pending?"pending":void 0,onSubmit:P}),[a.$slots.attachments?(m(),l("div",u(r({key:0},f(e)("chat-composer","attachments"))),[p(a.$slots,"attachments")],16)):t("",!0),o("div",u(i(f(e)("chat-composer","field"))),[a.$slots.leading?(m(),l("div",u(r({key:0},f(e)("chat-composer","leading"))),[p(a.$slots,"leading")],16)):t("",!0),n(f(y),r(f(e)("chat-composer","textarea"),{"aria-label":d.label,placeholder:d.placeholder,value:S.value,"auto-resize":"","min-rows":1,"max-rows":d.maxRows,"max-length":d.maxLength,disabled:d.disabled??!1,onValueChange:L,onKeydown:D}),null,16,["aria-label","placeholder","value","max-rows","max-length","disabled"]),a.$slots.trailing?(m(),l("div",u(r({key:1},f(e)("chat-composer","trailing"))),[p(a.$slots,"trailing")],16)):t("",!0),n(f(b),r(f(e)("chat-composer","send"),{type:"submit",variant:"primary","icon-only":B.value,"aria-label":B.value?d.sendLabel:void 0,loading:d.pending??!1,disabled:d.disabled||d.pending||!V.value}),{default:h(()=>[p(a.$slots,"send-icon",{},()=>[s(v(d.sendLabel),1)])]),_:3},16,["icon-only","aria-label","loading","disabled"])],16),a.$slots.footer?(m(),l("div",u(r({key:1},f(e)("chat-composer","footer"))),[p(a.$slots,"footer")],16)):t("",!0)],16,x))}});export{k as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ChatComposer.vue.cjs");exports.SkdxChatComposer=e.default;
@@ -0,0 +1,2 @@
1
+ export { default as SkdxChatComposer } from './ChatComposer.vue.cjs';
2
+ export type { ChatComposerSendDetail, ChatComposerSubmitKey } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { default as SkdxChatComposer } from './ChatComposer.vue.js';
2
+ export type { ChatComposerSendDetail, ChatComposerSubmitKey } from './types.js';
@@ -0,0 +1 @@
1
+ import o from"./ChatComposer.vue.js";export{o as SkdxChatComposer};
@@ -0,0 +1,7 @@
1
+ /** Which key combination sends the message from inside the textarea. */
2
+ export type ChatComposerSubmitKey = 'enter' | 'mod-enter' | 'none';
3
+ /** What the `send` event carries when a message is sent. */
4
+ export interface ChatComposerSendDetail {
5
+ /** The composed message text as it stood when the send was triggered. */
6
+ value: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ /** Which key combination sends the message from inside the textarea. */
2
+ export type ChatComposerSubmitKey = 'enter' | 'mod-enter' | 'none';
3
+ /** What the `send` event carries when a message is sent. */
4
+ export interface ChatComposerSendDetail {
5
+ /** The composed message text as it stood when the send was triggered. */
6
+ value: string;
7
+ }
@@ -0,0 +1 @@
1
+ const e=require("./ChatMessage.vue_vue_type_script_setup_true_lang.cjs");var t=e.default;exports.default=t;
@@ -0,0 +1,73 @@
1
+ import { type DateInput } from '@skdx/vue';
2
+ /**
3
+ * One message in a conversation: author, avatar, timestamp, delivery status, arbitrary content, attachments, actions and a footer, composing Time.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxChatMessage
8
+ * sender="assistant"
9
+ * author="Assistant"
10
+ * :timestamp="message.sentAt"
11
+ * :status="message.status"
12
+ * >
13
+ * {{ message.text }}
14
+ * </SkdxChatMessage>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /**
19
+ * Who sent the message, written to data-sender; the skin aligns user messages to the end and styles system messages as a centred note.
20
+ */
21
+ sender: 'user' | 'assistant' | 'system' | (string & {});
22
+ /**
23
+ * Name of the person, model or system that sent the message, rendered as visible text.
24
+ * @default undefined — no author region renders.
25
+ */
26
+ author?: string | undefined;
27
+ /**
28
+ * Instant the message was sent, rendered through a composed Time.
29
+ * @default undefined — no time region renders.
30
+ */
31
+ timestamp?: DateInput | undefined;
32
+ /**
33
+ * Reference instant the timestamp's relative label renders against.
34
+ * @default undefined — read once at render
35
+ */
36
+ now?: Date | number | undefined;
37
+ /**
38
+ * Delivery state, written to data-status; 'pending' also sets aria-busy on the root.
39
+ * @default undefined — no delivery state is written.
40
+ */
41
+ status?: 'pending' | 'sent' | 'error' | (string & {}) | undefined;
42
+ /**
43
+ * Visible text for the delivery state, in the app's own wording.
44
+ * @default undefined — no status region renders.
45
+ */
46
+ statusLabel?: string | undefined;
47
+ };
48
+ type __VLS_Slots = {
49
+ /** The message content: markdown output, code, citations or tool results. */
50
+ default?(): unknown;
51
+ /** Decorative avatar rendered beside the message, always aria-hidden. */
52
+ avatar?(): unknown;
53
+ /** Files, links or previews attached to the message, rendered below the content. */
54
+ attachments?(): unknown;
55
+ /** Controls such as copy, regenerate or react, rendered below the footer. */
56
+ actions?(): unknown;
57
+ /** Citations, token counts or other metadata, rendered below the content. */
58
+ footer?(): unknown;
59
+ };
60
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
61
+ status: "pending" | "sent" | "error" | (string & {}) | undefined;
62
+ author: string | undefined;
63
+ timestamp: DateInput | undefined;
64
+ now: Date | number | undefined;
65
+ statusLabel: string | undefined;
66
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
67
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
68
+ export default _default;
69
+ type __VLS_WithSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1,73 @@
1
+ import { type DateInput } from '@skdx/vue';
2
+ /**
3
+ * One message in a conversation: author, avatar, timestamp, delivery status, arbitrary content, attachments, actions and a footer, composing Time.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxChatMessage
8
+ * sender="assistant"
9
+ * author="Assistant"
10
+ * :timestamp="message.sentAt"
11
+ * :status="message.status"
12
+ * >
13
+ * {{ message.text }}
14
+ * </SkdxChatMessage>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /**
19
+ * Who sent the message, written to data-sender; the skin aligns user messages to the end and styles system messages as a centred note.
20
+ */
21
+ sender: 'user' | 'assistant' | 'system' | (string & {});
22
+ /**
23
+ * Name of the person, model or system that sent the message, rendered as visible text.
24
+ * @default undefined — no author region renders.
25
+ */
26
+ author?: string | undefined;
27
+ /**
28
+ * Instant the message was sent, rendered through a composed Time.
29
+ * @default undefined — no time region renders.
30
+ */
31
+ timestamp?: DateInput | undefined;
32
+ /**
33
+ * Reference instant the timestamp's relative label renders against.
34
+ * @default undefined — read once at render
35
+ */
36
+ now?: Date | number | undefined;
37
+ /**
38
+ * Delivery state, written to data-status; 'pending' also sets aria-busy on the root.
39
+ * @default undefined — no delivery state is written.
40
+ */
41
+ status?: 'pending' | 'sent' | 'error' | (string & {}) | undefined;
42
+ /**
43
+ * Visible text for the delivery state, in the app's own wording.
44
+ * @default undefined — no status region renders.
45
+ */
46
+ statusLabel?: string | undefined;
47
+ };
48
+ type __VLS_Slots = {
49
+ /** The message content: markdown output, code, citations or tool results. */
50
+ default?(): unknown;
51
+ /** Decorative avatar rendered beside the message, always aria-hidden. */
52
+ avatar?(): unknown;
53
+ /** Files, links or previews attached to the message, rendered below the content. */
54
+ attachments?(): unknown;
55
+ /** Controls such as copy, regenerate or react, rendered below the footer. */
56
+ actions?(): unknown;
57
+ /** Citations, token counts or other metadata, rendered below the content. */
58
+ footer?(): unknown;
59
+ };
60
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
61
+ status: "pending" | "sent" | "error" | (string & {}) | undefined;
62
+ author: string | undefined;
63
+ timestamp: DateInput | undefined;
64
+ now: Date | number | undefined;
65
+ statusLabel: string | undefined;
66
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
67
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
68
+ export default _default;
69
+ type __VLS_WithSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1 @@
1
+ import e from"./ChatMessage.vue_vue_type_script_setup_true_lang.js";var t=e;export{t as default};
@@ -0,0 +1 @@
1
+ const a=require("../internal/part.cjs");let e=require("vue"),n=require("@skdx/vue");var d=["data-sender","data-status","aria-busy"],l=(0,e.defineComponent)({__name:"ChatMessage",props:{sender:{},author:{default:void 0},timestamp:{default:void 0},now:{default:void 0},status:{default:void 0},statusLabel:{default:void 0}},setup(t){const o=t,s=(0,e.computed)(()=>o.author!==void 0||o.timestamp!==void 0||o.statusLabel!==void 0);return(r,m)=>((0,e.openBlock)(),(0,e.createElementBlock)("article",(0,e.mergeProps)((0,e.unref)(a.skdxPart)("chat-message","root"),{"data-sender":t.sender,"data-status":t.status,"aria-busy":t.status==="pending"?"true":void 0}),[r.$slots.avatar?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)({key:0,"aria-hidden":"true"},(0,e.unref)(a.skdxPart)("chat-message","avatar")),[(0,e.renderSlot)(r.$slots,"avatar")],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("chat-message","main"))),[s.value?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(a.skdxPart)("chat-message","header"))),[t.author!==void 0?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(a.skdxPart)("chat-message","author"))),(0,e.toDisplayString)(t.author),17)):(0,e.createCommentVNode)("",!0),t.timestamp!==void 0?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.SkdxTime),(0,e.mergeProps)({key:1},{...(0,e.unref)(a.skdxPart)("chat-message","time"),...t.now===void 0?{}:{now:t.now}},{value:t.timestamp,relative:""}),null,16,["value"])):(0,e.createCommentVNode)("",!0),t.statusLabel!==void 0?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(a.skdxPart)("chat-message","status"))),(0,e.toDisplayString)(t.statusLabel),17)):(0,e.createCommentVNode)("",!0)],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("chat-message","content"))),[(0,e.renderSlot)(r.$slots,"default")],16),r.$slots.attachments?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(a.skdxPart)("chat-message","attachments"))),[(0,e.renderSlot)(r.$slots,"attachments")],16)):(0,e.createCommentVNode)("",!0),r.$slots.footer?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(a.skdxPart)("chat-message","footer"))),[(0,e.renderSlot)(r.$slots,"footer")],16)):(0,e.createCommentVNode)("",!0),r.$slots.actions?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:3},(0,e.unref)(a.skdxPart)("chat-message","actions"))),[(0,e.renderSlot)(r.$slots,"actions")],16)):(0,e.createCommentVNode)("",!0)],16)],16,d))}});exports.default=l;
@@ -0,0 +1 @@
1
+ import{skdxPart as a}from"../internal/part.js";import{computed as t,createBlock as e,createCommentVNode as s,createElementBlock as o,createElementVNode as r,defineComponent as d,guardReactiveProps as i,mergeProps as m,normalizeProps as n,openBlock as u,renderSlot as l,toDisplayString as v,unref as c}from"vue";import{SkdxTime as h}from"@skdx/vue";var p=["data-sender","data-status","aria-busy"],g=/* @__PURE__ */d({__name:"ChatMessage",props:{sender:{},author:{default:void 0},timestamp:{default:void 0},now:{default:void 0},status:{default:void 0},statusLabel:{default:void 0}},setup(d){const g=d,f=t(()=>void 0!==g.author||void 0!==g.timestamp||void 0!==g.statusLabel);return(t,g)=>(u(),o("article",m(c(a)("chat-message","root"),{"data-sender":d.sender,"data-status":d.status,"aria-busy":"pending"===d.status?"true":void 0}),[t.$slots.avatar?(u(),o("div",m({key:0,"aria-hidden":"true"},c(a)("chat-message","avatar")),[l(t.$slots,"avatar")],16)):s("",!0),r("div",n(i(c(a)("chat-message","main"))),[f.value?(u(),o("div",n(m({key:0},c(a)("chat-message","header"))),[void 0!==d.author?(u(),o("span",n(m({key:0},c(a)("chat-message","author"))),v(d.author),17)):s("",!0),void 0!==d.timestamp?(u(),e(c(h),m({key:1},{...c(a)("chat-message","time"),...void 0===d.now?{}:{now:d.now}},{value:d.timestamp,relative:""}),null,16,["value"])):s("",!0),void 0!==d.statusLabel?(u(),o("span",n(m({key:2},c(a)("chat-message","status"))),v(d.statusLabel),17)):s("",!0)],16)):s("",!0),r("div",n(i(c(a)("chat-message","content"))),[l(t.$slots,"default")],16),t.$slots.attachments?(u(),o("div",n(m({key:1},c(a)("chat-message","attachments"))),[l(t.$slots,"attachments")],16)):s("",!0),t.$slots.footer?(u(),o("div",n(m({key:2},c(a)("chat-message","footer"))),[l(t.$slots,"footer")],16)):s("",!0),t.$slots.actions?(u(),o("div",n(m({key:3},c(a)("chat-message","actions"))),[l(t.$slots,"actions")],16)):s("",!0)],16)],16,p))}});export{g as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ChatMessage.vue.cjs");exports.SkdxChatMessage=e.default;
@@ -0,0 +1 @@
1
+ export { default as SkdxChatMessage } from './ChatMessage.vue.cjs';
@@ -0,0 +1 @@
1
+ export { default as SkdxChatMessage } from './ChatMessage.vue.js';
@@ -0,0 +1 @@
1
+ import e from"./ChatMessage.vue.js";export{e as SkdxChatMessage};
File without changes
File without changes
@@ -0,0 +1 @@
1
+ const e=require("./Comment.vue_vue_type_script_setup_true_lang.cjs");var t=e.default;exports.default=t;
@@ -0,0 +1,65 @@
1
+ import { type DateInput } from '@skdx/vue';
2
+ /**
3
+ * One collaboration comment: author, avatar, timestamp, edited indicator, arbitrary content, attachments and actions such as reply, edit and react.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxComment
8
+ * author="Priya Shah"
9
+ * :timestamp="comment.postedAt"
10
+ * >
11
+ * <template #avatar><SkdxAvatar name="Priya Shah" /></template>
12
+ * Looks good to me.
13
+ * <template #actions><SkdxButton size="sm">Reply</SkdxButton></template>
14
+ * </SkdxComment>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /** Name of the person or system that wrote the comment, rendered as visible text. */
19
+ author: string;
20
+ /**
21
+ * Instant the comment was posted, rendered through a composed Time.
22
+ * @default undefined — no time region renders.
23
+ */
24
+ timestamp?: DateInput | undefined;
25
+ /**
26
+ * Reference instant `timestamp` renders relative to, forwarded to Time.
27
+ * @default undefined — read once at render
28
+ */
29
+ now?: Date | number | undefined;
30
+ /**
31
+ * Marks the comment as edited since it was first posted.
32
+ * @default false
33
+ */
34
+ edited?: boolean;
35
+ /**
36
+ * Text of the edited indicator, shown only when `edited` is set.
37
+ * @default 'Edited'
38
+ */
39
+ editedLabel?: string;
40
+ };
41
+ type __VLS_Slots = {
42
+ /** The comment content, the consumer-supplied body text or markup. */
43
+ default?(): unknown;
44
+ /** Decorative avatar rendered beside the author, always aria-hidden. */
45
+ avatar?(): unknown;
46
+ /** Badges or supplementary text rendered beside the author, such as an "Author" badge. */
47
+ metadata?(): unknown;
48
+ /** Files or links attached to the comment, rendered below the content. */
49
+ attachments?(): unknown;
50
+ /** Controls such as reply, edit and react, rendered below the attachments. */
51
+ actions?(): unknown;
52
+ };
53
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
54
+ timestamp: DateInput | undefined;
55
+ now: Date | number | undefined;
56
+ edited: boolean;
57
+ editedLabel: string;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
59
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
60
+ export default _default;
61
+ type __VLS_WithSlots<T, S> = T & {
62
+ new (): {
63
+ $slots: S;
64
+ };
65
+ };
@@ -0,0 +1,65 @@
1
+ import { type DateInput } from '@skdx/vue';
2
+ /**
3
+ * One collaboration comment: author, avatar, timestamp, edited indicator, arbitrary content, attachments and actions such as reply, edit and react.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxComment
8
+ * author="Priya Shah"
9
+ * :timestamp="comment.postedAt"
10
+ * >
11
+ * <template #avatar><SkdxAvatar name="Priya Shah" /></template>
12
+ * Looks good to me.
13
+ * <template #actions><SkdxButton size="sm">Reply</SkdxButton></template>
14
+ * </SkdxComment>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /** Name of the person or system that wrote the comment, rendered as visible text. */
19
+ author: string;
20
+ /**
21
+ * Instant the comment was posted, rendered through a composed Time.
22
+ * @default undefined — no time region renders.
23
+ */
24
+ timestamp?: DateInput | undefined;
25
+ /**
26
+ * Reference instant `timestamp` renders relative to, forwarded to Time.
27
+ * @default undefined — read once at render
28
+ */
29
+ now?: Date | number | undefined;
30
+ /**
31
+ * Marks the comment as edited since it was first posted.
32
+ * @default false
33
+ */
34
+ edited?: boolean;
35
+ /**
36
+ * Text of the edited indicator, shown only when `edited` is set.
37
+ * @default 'Edited'
38
+ */
39
+ editedLabel?: string;
40
+ };
41
+ type __VLS_Slots = {
42
+ /** The comment content, the consumer-supplied body text or markup. */
43
+ default?(): unknown;
44
+ /** Decorative avatar rendered beside the author, always aria-hidden. */
45
+ avatar?(): unknown;
46
+ /** Badges or supplementary text rendered beside the author, such as an "Author" badge. */
47
+ metadata?(): unknown;
48
+ /** Files or links attached to the comment, rendered below the content. */
49
+ attachments?(): unknown;
50
+ /** Controls such as reply, edit and react, rendered below the attachments. */
51
+ actions?(): unknown;
52
+ };
53
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
54
+ timestamp: DateInput | undefined;
55
+ now: Date | number | undefined;
56
+ edited: boolean;
57
+ editedLabel: string;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
59
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
60
+ export default _default;
61
+ type __VLS_WithSlots<T, S> = T & {
62
+ new (): {
63
+ $slots: S;
64
+ };
65
+ };
@@ -0,0 +1 @@
1
+ import e from"./Comment.vue_vue_type_script_setup_true_lang.js";var t=e;export{t as default};
@@ -0,0 +1 @@
1
+ const t=require("../internal/part.cjs");let e=require("vue"),a=require("@skdx/vue");var n=(0,e.defineComponent)({__name:"Comment",props:{author:{},timestamp:{default:void 0},now:{default:void 0},edited:{type:Boolean,default:!1},editedLabel:{default:"Edited"}},setup(o){return(r,m)=>((0,e.openBlock)(),(0,e.createElementBlock)("article",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(t.skdxPart)("comment","root"))),[r.$slots.avatar?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)({key:0,"aria-hidden":"true"},(0,e.unref)(t.skdxPart)("comment","avatar")),[(0,e.renderSlot)(r.$slots,"avatar")],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(t.skdxPart)("comment","main"))),[(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(t.skdxPart)("comment","header"))),[(0,e.createElementVNode)("span",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(t.skdxPart)("comment","author"))),(0,e.toDisplayString)(o.author),17),r.$slots.metadata?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(t.skdxPart)("comment","metadata"))),[(0,e.renderSlot)(r.$slots,"metadata")],16)):(0,e.createCommentVNode)("",!0),o.timestamp!==void 0?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(a.SkdxTime),(0,e.mergeProps)({key:1},{...(0,e.unref)(t.skdxPart)("comment","time"),...o.now===void 0?{}:{now:o.now}},{value:o.timestamp,relative:""}),null,16,["value"])):(0,e.createCommentVNode)("",!0),o.edited?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(t.skdxPart)("comment","edited"))),(0,e.toDisplayString)(o.editedLabel),17)):(0,e.createCommentVNode)("",!0)],16),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(t.skdxPart)("comment","content"))),[(0,e.renderSlot)(r.$slots,"default")],16),r.$slots.attachments?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(t.skdxPart)("comment","attachments"))),[(0,e.renderSlot)(r.$slots,"attachments")],16)):(0,e.createCommentVNode)("",!0),r.$slots.actions?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(t.skdxPart)("comment","actions"))),[(0,e.renderSlot)(r.$slots,"actions")],16)):(0,e.createCommentVNode)("",!0)],16)],16))}});exports.default=n;
@@ -0,0 +1 @@
1
+ import{skdxPart as e}from"../internal/part.js";import{createBlock as t,createCommentVNode as a,createElementBlock as o,createElementVNode as s,defineComponent as m,guardReactiveProps as n,mergeProps as d,normalizeProps as i,openBlock as r,renderSlot as l,toDisplayString as c,unref as p}from"vue";import{SkdxTime as v}from"@skdx/vue";var u=/* @__PURE__ */m({__name:"Comment",props:{author:{},timestamp:{default:void 0},now:{default:void 0},edited:{type:Boolean,default:!1},editedLabel:{default:"Edited"}},setup:m=>(u,k)=>(r(),o("article",i(n(p(e)("comment","root"))),[u.$slots.avatar?(r(),o("div",d({key:0,"aria-hidden":"true"},p(e)("comment","avatar")),[l(u.$slots,"avatar")],16)):a("",!0),s("div",i(n(p(e)("comment","main"))),[s("div",i(n(p(e)("comment","header"))),[s("span",i(n(p(e)("comment","author"))),c(m.author),17),u.$slots.metadata?(r(),o("span",i(d({key:0},p(e)("comment","metadata"))),[l(u.$slots,"metadata")],16)):a("",!0),void 0!==m.timestamp?(r(),t(p(v),d({key:1},{...p(e)("comment","time"),...void 0===m.now?{}:{now:m.now}},{value:m.timestamp,relative:""}),null,16,["value"])):a("",!0),m.edited?(r(),o("span",i(d({key:2},p(e)("comment","edited"))),c(m.editedLabel),17)):a("",!0)],16),s("div",i(n(p(e)("comment","content"))),[l(u.$slots,"default")],16),u.$slots.attachments?(r(),o("div",i(d({key:0},p(e)("comment","attachments"))),[l(u.$slots,"attachments")],16)):a("",!0),u.$slots.actions?(r(),o("div",i(d({key:1},p(e)("comment","actions"))),[l(u.$slots,"actions")],16)):a("",!0)],16)],16))});export{u as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Comment.vue.cjs");exports.SkdxComment=e.default;
@@ -0,0 +1 @@
1
+ export { default as SkdxComment } from './Comment.vue.cjs';
@@ -0,0 +1 @@
1
+ export { default as SkdxComment } from './Comment.vue.js';
@@ -0,0 +1 @@
1
+ import m from"./Comment.vue.js";export{m as SkdxComment};
File without changes
File without changes
@@ -0,0 +1 @@
1
+ const e=require("./CommentThread.vue_vue_type_script_setup_true_lang.cjs");var t=e.default;exports.default=t;