@opentiny/tiny-robot 0.2.0-alpha.2 → 0.2.0-alpha.4

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 (414) hide show
  1. package/dist/_plugin-vue_export-helper.js +9 -0
  2. package/dist/action-group/index.js +142 -0
  3. package/dist/bubble/index.js +3211 -0
  4. package/dist/{node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/close.js → close.js} +9 -9
  5. package/dist/container/index.js +60 -0
  6. package/dist/conversations/index.js +14 -0
  7. package/dist/feedback/index.js +192 -0
  8. package/dist/history/index.js +228 -0
  9. package/dist/icon-button/index.js +31 -0
  10. package/dist/index.d.ts +2200 -26
  11. package/dist/index.js +35 -43
  12. package/dist/index2.js +376 -0
  13. package/dist/index3.js +3895 -0
  14. package/dist/index4.js +637 -0
  15. package/dist/index5.js +3237 -0
  16. package/dist/index6.js +4623 -0
  17. package/dist/prompts/index.js +83 -0
  18. package/dist/question/index.js +429 -0
  19. package/dist/sender/index.js +772 -0
  20. package/dist/style.css +1 -1
  21. package/dist/suggestion/index.js +497 -0
  22. package/dist/{packages/svgs/dist/tiny-robot-svgs.js → tiny-robot-svgs.js} +107 -107
  23. package/dist/welcome/index.js +38 -0
  24. package/package.json +7 -3
  25. package/dist/_virtual/_plugin-vue_export-helper.js +0 -9
  26. package/dist/action-group/ActionGroup.vue.d.ts +0 -26
  27. package/dist/action-group/ActionGroupItem.vue.d.ts +0 -18
  28. package/dist/action-group/index.d.ts +0 -12
  29. package/dist/action-group/index.type.d.ts +0 -17
  30. package/dist/bubble/BubbleList.vue.d.ts +0 -5
  31. package/dist/bubble/index.d.ts +0 -12
  32. package/dist/bubble/index.type.d.ts +0 -51
  33. package/dist/container/index.d.ts +0 -7
  34. package/dist/container/index.type.d.ts +0 -16
  35. package/dist/container/index.vue.d.ts +0 -26
  36. package/dist/conversations/index.d.ts +0 -7
  37. package/dist/conversations/index.vue.d.ts +0 -2
  38. package/dist/feedback/components/SourceList.vue.d.ts +0 -11
  39. package/dist/feedback/components/index.d.ts +0 -1
  40. package/dist/feedback/index.d.ts +0 -7
  41. package/dist/feedback/index.type.d.ts +0 -25
  42. package/dist/feedback/index.vue.d.ts +0 -13
  43. package/dist/history/components/index.d.ts +0 -2
  44. package/dist/history/components/item-tag.vue.d.ts +0 -5
  45. package/dist/history/components/search-empty.vue.d.ts +0 -7
  46. package/dist/history/composables/index.d.ts +0 -1
  47. package/dist/history/composables/useEditItemTitle.d.ts +0 -12
  48. package/dist/history/index.d.ts +0 -6
  49. package/dist/history/index.type.d.ts +0 -43
  50. package/dist/history/index.vue.d.ts +0 -2
  51. package/dist/icon-button/index.d.ts +0 -7
  52. package/dist/icon-button/index.type.d.ts +0 -6
  53. package/dist/icon-button/index.vue.d.ts +0 -6
  54. package/dist/node_modules/.pnpm/@opentiny_utils@1.0.0/node_modules/@opentiny/utils/dist/opentiny-utils.es.js +0 -832
  55. package/dist/node_modules/.pnpm/@opentiny_utils@3.22.0/node_modules/@opentiny/utils/dist/index.es.js +0 -2116
  56. package/dist/node_modules/.pnpm/@opentiny_vue-button@3.21.0/node_modules/@opentiny/vue-button/lib/index.js +0 -113
  57. package/dist/node_modules/.pnpm/@opentiny_vue-button@3.21.0/node_modules/@opentiny/vue-button/lib/pc.js +0 -93
  58. package/dist/node_modules/.pnpm/@opentiny_vue-common@3.21.0/node_modules/@opentiny/vue-common/lib/index.js +0 -727
  59. package/dist/node_modules/.pnpm/@opentiny_vue-common@3.22.0/node_modules/@opentiny/vue-common/lib/index.js +0 -710
  60. package/dist/node_modules/.pnpm/@opentiny_vue-dialog-box@3.21.0/node_modules/@opentiny/vue-dialog-box/lib/index.js +0 -198
  61. package/dist/node_modules/.pnpm/@opentiny_vue-dialog-box@3.21.0/node_modules/@opentiny/vue-dialog-box/lib/pc.js +0 -204
  62. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useEventListener.js +0 -10
  63. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useInstanceSlots.js +0 -14
  64. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useRelation.js +0 -54
  65. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/vue-popper.js +0 -85
  66. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/close.js +0 -29
  67. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/eyeclose.js +0 -42
  68. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/eyeopen.js +0 -43
  69. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/finish.js +0 -34
  70. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/fullscreen.js +0 -30
  71. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/loading-shadow.js +0 -77
  72. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/minscreen.js +0 -30
  73. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-column-after.js +0 -24
  74. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-column-before.js +0 -24
  75. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-row-after.js +0 -24
  76. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-row-before.js +0 -24
  77. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-center.js +0 -24
  78. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-left.js +0 -24
  79. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-right.js +0 -24
  80. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-bold.js +0 -24
  81. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-code-block.js +0 -24
  82. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-code-view.js +0 -24
  83. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-color.js +0 -24
  84. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-column.js +0 -24
  85. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-row.js +0 -24
  86. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-table.js +0 -24
  87. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-font-size.js +0 -24
  88. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-format-clear.js +0 -24
  89. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h1.js +0 -24
  90. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h2.js +0 -24
  91. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h3.js +0 -24
  92. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h4.js +0 -24
  93. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h5.js +0 -24
  94. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-h6.js +0 -24
  95. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-heading.js +0 -24
  96. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-high-light.js +0 -24
  97. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-image.js +0 -24
  98. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-italic.js +0 -24
  99. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-line-height.js +0 -24
  100. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-link-unlink.js +0 -24
  101. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-link.js +0 -24
  102. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-list-ordered.js +0 -24
  103. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-list-unordered.js +0 -24
  104. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-merge-cells-vertical.js +0 -24
  105. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-merge-cells.js +0 -24
  106. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-node-delete.js +0 -24
  107. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-paragraph.js +0 -24
  108. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-quote-text.js +0 -24
  109. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-redo.js +0 -24
  110. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-split-cells-horizontal.js +0 -24
  111. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-split-cells-vertical.js +0 -24
  112. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-strike-through.js +0 -24
  113. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-subscript.js +0 -24
  114. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-superscript.js +0 -24
  115. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-table.js +0 -24
  116. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-task-list.js +0 -24
  117. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-underline.js +0 -24
  118. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/rich-text-undo.js +0 -24
  119. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/sub-script.js +0 -29
  120. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.21.0/node_modules/@opentiny/vue-icon/lib/warn.js +0 -26
  121. package/dist/node_modules/.pnpm/@opentiny_vue-input@3.21.0/node_modules/@opentiny/vue-input/lib/index.js +0 -196
  122. package/dist/node_modules/.pnpm/@opentiny_vue-input@3.21.0/node_modules/@opentiny/vue-input/lib/pc.js +0 -568
  123. package/dist/node_modules/.pnpm/@opentiny_vue-locale@3.21.0/node_modules/@opentiny/vue-locale/lib/index.js +0 -1783
  124. package/dist/node_modules/.pnpm/@opentiny_vue-locale@3.22.0/node_modules/@opentiny/vue-locale/lib/index.js +0 -1783
  125. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/button/index.js +0 -13
  126. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/button/vue.js +0 -34
  127. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/chunk-G2ADBYYC.js +0 -12
  128. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/browser.js +0 -36
  129. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/clickoutside.js +0 -47
  130. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/debounce.js +0 -7
  131. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/dom.js +0 -45
  132. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/popper.js +0 -320
  133. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/popup-manager.js +0 -118
  134. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/throttle.js +0 -23
  135. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/useEventListener.js +0 -9
  136. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/useInstanceSlots.js +0 -14
  137. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/useRelation.js +0 -54
  138. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/vue-popper.js +0 -84
  139. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/deps/vue-popup.js +0 -73
  140. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/event.js +0 -13
  141. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/function.js +0 -5
  142. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/index.js +0 -11
  143. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/object.js +0 -84
  144. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/string.js +0 -28
  145. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/common/type.js +0 -28
  146. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/dialog-box/index.js +0 -136
  147. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/dialog-box/vue.js +0 -148
  148. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/input/index.js +0 -228
  149. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/input/vue.js +0 -263
  150. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/tall-storage/index.js +0 -63
  151. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/tall-storage/vue-storage-box.js +0 -16
  152. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/tall-storage/vue.js +0 -23
  153. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/tooltip/index.js +0 -78
  154. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.21.2/node_modules/@opentiny/vue-renderless/tooltip/vue.js +0 -90
  155. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/index.js +0 -77
  156. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/vue.js +0 -90
  157. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.21.0/node_modules/@opentiny/vue-tooltip/lib/index.js +0 -173
  158. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.21.0/node_modules/@opentiny/vue-tooltip/lib/pc.js +0 -248
  159. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/index.js +0 -176
  160. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/pc.js +0 -248
  161. package/dist/node_modules/.pnpm/@vueuse_core@13.1.0_vue@3.5.13/node_modules/@vueuse/core/index.js +0 -310
  162. package/dist/node_modules/.pnpm/@vueuse_shared@13.1.0_vue@3.5.13/node_modules/@vueuse/shared/index.js +0 -110
  163. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode.js +0 -277
  164. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode_codepoint.js +0 -46
  165. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
  166. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
  167. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/index.js +0 -187
  168. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/lib/re.js +0 -19
  169. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_blocks.js +0 -67
  170. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_re.js +0 -5
  171. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/utils.js +0 -164
  172. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/index.js +0 -8
  173. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_destination.js +0 -44
  174. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_label.js +0 -21
  175. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_title.js +0 -37
  176. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/index.js +0 -112
  177. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_block.js +0 -63
  178. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_core.js +0 -34
  179. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_inline.js +0 -96
  180. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/commonmark.js +0 -78
  181. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/default.js +0 -40
  182. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/zero.js +0 -59
  183. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/renderer.js +0 -127
  184. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/ruler.js +0 -95
  185. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/blockquote.js +0 -59
  186. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/code.js +0 -23
  187. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/fence.js +0 -30
  188. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/heading.js +0 -28
  189. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/hr.js +0 -27
  190. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/html_block.js +0 -37
  191. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/lheading.js +0 -43
  192. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/list.js +0 -110
  193. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/paragraph.js +0 -25
  194. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/reference.js +0 -95
  195. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/state_block.js +0 -84
  196. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/table.js +0 -99
  197. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/block.js +0 -7
  198. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/inline.js +0 -10
  199. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/linkify.js +0 -57
  200. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/normalize.js +0 -9
  201. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/replacements.js +0 -31
  202. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/smartquotes.js +0 -80
  203. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/state_core.js +0 -8
  204. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/text_join.js +0 -16
  205. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/autolink.js +0 -46
  206. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/backticks.js +0 -31
  207. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +0 -34
  208. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/emphasis.js +0 -57
  209. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/entity.js +0 -33
  210. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/escape.js +0 -32
  211. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/fragments_join.js +0 -10
  212. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/html_inline.js +0 -32
  213. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/image.js +0 -48
  214. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/link.js +0 -40
  215. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/linkify.js +0 -28
  216. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/newline.js +0 -23
  217. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/state_inline.js +0 -27
  218. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/strikethrough.js +0 -54
  219. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/text.js +0 -39
  220. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/token.js +0 -31
  221. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/index.js +0 -10
  222. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/decode.js +0 -61
  223. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/encode.js +0 -48
  224. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/format.js +0 -7
  225. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/parse.js +0 -74
  226. package/dist/node_modules/.pnpm/punycode.js@2.3.1/node_modules/punycode.js/punycode.es6.js +0 -139
  227. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cc/regex.js +0 -4
  228. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cf/regex.js +0 -4
  229. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/P/regex.js +0 -4
  230. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/S/regex.js +0 -4
  231. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Z/regex.js +0 -4
  232. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/index.js +0 -14
  233. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/properties/Any/regex.js +0 -4
  234. package/dist/packages/components/src/action-group/ActionGroup.vue.js +0 -7
  235. package/dist/packages/components/src/action-group/ActionGroup.vue2.js +0 -121
  236. package/dist/packages/components/src/action-group/ActionGroupItem.vue.js +0 -14
  237. package/dist/packages/components/src/action-group/ActionGroupItem.vue2.js +0 -4
  238. package/dist/packages/components/src/action-group/index.js +0 -17
  239. package/dist/packages/components/src/assets/icons/accessory.svg.js +0 -4
  240. package/dist/packages/components/src/assets/icons/loading-speech.svg.js +0 -4
  241. package/dist/packages/components/src/assets/icons/loading.svg.js +0 -4
  242. package/dist/packages/components/src/assets/icons/send.svg.js +0 -4
  243. package/dist/packages/components/src/assets/icons/voice.svg.js +0 -4
  244. package/dist/packages/components/src/bubble/Bubble.vue.js +0 -7
  245. package/dist/packages/components/src/bubble/Bubble.vue2.js +0 -76
  246. package/dist/packages/components/src/bubble/BubbleList.vue.js +0 -7
  247. package/dist/packages/components/src/bubble/BubbleList.vue2.js +0 -50
  248. package/dist/packages/components/src/bubble/index.js +0 -18
  249. package/dist/packages/components/src/container/index.js +0 -9
  250. package/dist/packages/components/src/container/index.vue.js +0 -7
  251. package/dist/packages/components/src/container/index.vue2.js +0 -55
  252. package/dist/packages/components/src/conversations/index.js +0 -9
  253. package/dist/packages/components/src/conversations/index.vue.js +0 -9
  254. package/dist/packages/components/src/feedback/components/SourceList.vue.js +0 -7
  255. package/dist/packages/components/src/feedback/components/SourceList.vue2.js +0 -52
  256. package/dist/packages/components/src/feedback/index.js +0 -9
  257. package/dist/packages/components/src/feedback/index.vue.js +0 -7
  258. package/dist/packages/components/src/feedback/index.vue2.js +0 -143
  259. package/dist/packages/components/src/history/components/item-tag.vue.js +0 -7
  260. package/dist/packages/components/src/history/components/item-tag.vue2.js +0 -21
  261. package/dist/packages/components/src/history/components/search-empty.vue.js +0 -7
  262. package/dist/packages/components/src/history/components/search-empty.vue2.js +0 -20
  263. package/dist/packages/components/src/history/composables/useEditItemTitle.js +0 -43
  264. package/dist/packages/components/src/history/index.js +0 -11
  265. package/dist/packages/components/src/history/index.vue.js +0 -7
  266. package/dist/packages/components/src/history/index.vue2.js +0 -130
  267. package/dist/packages/components/src/icon-button/index.js +0 -9
  268. package/dist/packages/components/src/icon-button/index.vue.js +0 -7
  269. package/dist/packages/components/src/icon-button/index.vue2.js +0 -22
  270. package/dist/packages/components/src/prompts/index.js +0 -18
  271. package/dist/packages/components/src/prompts/prompt.vue.js +0 -7
  272. package/dist/packages/components/src/prompts/prompt.vue2.js +0 -39
  273. package/dist/packages/components/src/prompts/prompts.vue.js +0 -7
  274. package/dist/packages/components/src/prompts/prompts.vue2.js +0 -36
  275. package/dist/packages/components/src/question/components/CommonQuestions.vue.js +0 -89
  276. package/dist/packages/components/src/question/components/CommonQuestions.vue2.js +0 -4
  277. package/dist/packages/components/src/question/components/HotQuestions.vue.js +0 -140
  278. package/dist/packages/components/src/question/components/HotQuestions.vue2.js +0 -4
  279. package/dist/packages/components/src/question/composables/useQuestions.js +0 -48
  280. package/dist/packages/components/src/question/index.js +0 -9
  281. package/dist/packages/components/src/question/index.vue.js +0 -113
  282. package/dist/packages/components/src/question/index.vue2.js +0 -4
  283. package/dist/packages/components/src/sender/components/ActionButtons.vue.js +0 -143
  284. package/dist/packages/components/src/sender/components/ActionButtons.vue2.js +0 -4
  285. package/dist/packages/components/src/sender/components/TemplateEditor.vue.js +0 -7
  286. package/dist/packages/components/src/sender/components/TemplateEditor.vue2.js +0 -175
  287. package/dist/packages/components/src/sender/composables/useInputHandler.js +0 -38
  288. package/dist/packages/components/src/sender/composables/useKeyboardHandler.js +0 -31
  289. package/dist/packages/components/src/sender/composables/useSpeechHandler.js +0 -67
  290. package/dist/packages/components/src/sender/index.js +0 -9
  291. package/dist/packages/components/src/sender/index.vue.js +0 -255
  292. package/dist/packages/components/src/sender/index.vue2.js +0 -4
  293. package/dist/packages/components/src/suggestion/components/CategoryNav.vue.js +0 -38
  294. package/dist/packages/components/src/suggestion/components/CategoryNav.vue2.js +0 -4
  295. package/dist/packages/components/src/suggestion/components/SuggestionCapsule.vue.js +0 -107
  296. package/dist/packages/components/src/suggestion/components/SuggestionCapsule.vue2.js +0 -4
  297. package/dist/packages/components/src/suggestion/components/SuggestionPanel.vue.js +0 -123
  298. package/dist/packages/components/src/suggestion/components/SuggestionPanel.vue2.js +0 -4
  299. package/dist/packages/components/src/suggestion/composables/useKeyboardNavigation.js +0 -45
  300. package/dist/packages/components/src/suggestion/composables/useTriggerDetection.js +0 -17
  301. package/dist/packages/components/src/suggestion/index.js +0 -9
  302. package/dist/packages/components/src/suggestion/index.vue.js +0 -179
  303. package/dist/packages/components/src/suggestion/index.vue2.js +0 -4
  304. package/dist/packages/components/src/suggestion/utils/dom.js +0 -18
  305. package/dist/packages/components/src/welcome/index.js +0 -9
  306. package/dist/packages/components/src/welcome/index.vue.js +0 -7
  307. package/dist/packages/components/src/welcome/index.vue2.js +0 -32
  308. package/dist/prompts/index.d.ts +0 -12
  309. package/dist/prompts/index.type.d.ts +0 -55
  310. package/dist/prompts/prompt.vue.d.ts +0 -3
  311. package/dist/prompts/prompts.vue.d.ts +0 -20
  312. package/dist/question/components/CommonQuestions.vue.d.ts +0 -32
  313. package/dist/question/components/HotQuestions.vue.d.ts +0 -89
  314. package/dist/question/composables/useQuestions.d.ts +0 -17
  315. package/dist/question/index.d.ts +0 -7
  316. package/dist/question/index.type.d.ts +0 -74
  317. package/dist/question/index.vue.d.ts +0 -46
  318. package/dist/sender/components/ActionButtons.vue.d.ts +0 -25
  319. package/dist/sender/components/TemplateEditor.vue.d.ts +0 -18
  320. package/dist/sender/composables/useInputHandler.d.ts +0 -17
  321. package/dist/sender/composables/useKeyboardHandler.d.ts +0 -18
  322. package/dist/sender/composables/useSpeechHandler.d.ts +0 -8
  323. package/dist/sender/index.d.ts +0 -7
  324. package/dist/sender/index.type.d.ts +0 -137
  325. package/dist/sender/index.vue.d.ts +0 -1012
  326. package/dist/suggestion/components/CategoryNav.vue.d.ts +0 -45
  327. package/dist/suggestion/components/SuggestionCapsule.vue.d.ts +0 -32
  328. package/dist/suggestion/components/SuggestionPanel.vue.d.ts +0 -84
  329. package/dist/suggestion/composables/useKeyboardNavigation.d.ts +0 -18
  330. package/dist/suggestion/composables/useSuggestionFilter.d.ts +0 -10
  331. package/dist/suggestion/composables/useTriggerDetection.d.ts +0 -11
  332. package/dist/suggestion/index.d.ts +0 -7
  333. package/dist/suggestion/index.type.d.ts +0 -94
  334. package/dist/suggestion/index.vue.d.ts +0 -343
  335. package/dist/suggestion/utils/dom.d.ts +0 -20
  336. package/dist/welcome/index.d.ts +0 -7
  337. package/dist/welcome/index.type.d.ts +0 -10
  338. package/dist/welcome/index.vue.d.ts +0 -18
  339. package/src/action-group/ActionGroup.vue +0 -247
  340. package/src/action-group/ActionGroupItem.vue +0 -9
  341. package/src/action-group/index.ts +0 -25
  342. package/src/action-group/index.type.ts +0 -21
  343. package/src/assets/icons/accessory.svg +0 -12
  344. package/src/assets/icons/loading-speech.svg +0 -16
  345. package/src/assets/icons/loading.svg +0 -17
  346. package/src/assets/icons/send.svg +0 -21
  347. package/src/assets/icons/voice.svg +0 -22
  348. package/src/bubble/Bubble.vue +0 -153
  349. package/src/bubble/BubbleList.vue +0 -55
  350. package/src/bubble/index.ts +0 -23
  351. package/src/bubble/index.type.ts +0 -49
  352. package/src/container/index.ts +0 -12
  353. package/src/container/index.type.ts +0 -17
  354. package/src/container/index.vue +0 -109
  355. package/src/conversations/index.ts +0 -12
  356. package/src/conversations/index.vue +0 -3
  357. package/src/feedback/components/SourceList.vue +0 -112
  358. package/src/feedback/components/index.ts +0 -1
  359. package/src/feedback/index.ts +0 -12
  360. package/src/feedback/index.type.ts +0 -27
  361. package/src/feedback/index.vue +0 -166
  362. package/src/history/components/index.ts +0 -2
  363. package/src/history/components/item-tag.vue +0 -49
  364. package/src/history/components/search-empty.vue +0 -38
  365. package/src/history/composables/index.ts +0 -1
  366. package/src/history/composables/useEditItemTitle.ts +0 -75
  367. package/src/history/index.ts +0 -12
  368. package/src/history/index.type.ts +0 -50
  369. package/src/history/index.vue +0 -292
  370. package/src/icon-button/index.ts +0 -12
  371. package/src/icon-button/index.type.ts +0 -7
  372. package/src/icon-button/index.vue +0 -58
  373. package/src/index.ts +0 -76
  374. package/src/prompts/index.ts +0 -25
  375. package/src/prompts/index.type.ts +0 -59
  376. package/src/prompts/prompt.vue +0 -101
  377. package/src/prompts/prompts.vue +0 -50
  378. package/src/question/components/CommonQuestions.vue +0 -146
  379. package/src/question/components/HotQuestions.vue +0 -148
  380. package/src/question/composables/useQuestions.ts +0 -106
  381. package/src/question/index.less +0 -447
  382. package/src/question/index.ts +0 -12
  383. package/src/question/index.type.ts +0 -86
  384. package/src/question/index.vue +0 -140
  385. package/src/question/vars.less +0 -135
  386. package/src/sender/components/ActionButtons.vue +0 -168
  387. package/src/sender/components/TemplateEditor.vue +0 -465
  388. package/src/sender/composables/useInputHandler.ts +0 -74
  389. package/src/sender/composables/useKeyboardHandler.ts +0 -101
  390. package/src/sender/composables/useSpeechHandler.ts +0 -122
  391. package/src/sender/index.less +0 -352
  392. package/src/sender/index.ts +0 -12
  393. package/src/sender/index.type.ts +0 -162
  394. package/src/sender/index.vue +0 -338
  395. package/src/sender/vars.less +0 -84
  396. package/src/suggestion/components/CategoryNav.vue +0 -38
  397. package/src/suggestion/components/SuggestionCapsule.vue +0 -183
  398. package/src/suggestion/components/SuggestionPanel.vue +0 -147
  399. package/src/suggestion/composables/useKeyboardNavigation.ts +0 -101
  400. package/src/suggestion/composables/useSuggestionFilter.ts +0 -34
  401. package/src/suggestion/composables/useTriggerDetection.ts +0 -46
  402. package/src/suggestion/index.less +0 -497
  403. package/src/suggestion/index.ts +0 -12
  404. package/src/suggestion/index.type.ts +0 -101
  405. package/src/suggestion/index.vue +0 -338
  406. package/src/suggestion/utils/dom.ts +0 -66
  407. package/src/suggestion/vars.less +0 -141
  408. package/src/vite-env.d.ts +0 -1
  409. package/src/welcome/index.ts +0 -12
  410. package/src/welcome/index.type.ts +0 -12
  411. package/src/welcome/index.vue +0 -69
  412. package/tsconfig.json +0 -37
  413. package/tsconfig.node.json +0 -10
  414. package/vite.config.ts +0 -53
@@ -1,122 +0,0 @@
1
- import { reactive } from 'vue'
2
- import type { SpeechHookOptions, SpeechHandler, SpeechState } from '../index.type'
3
-
4
- /**
5
- * 语音识别处理 Hook
6
- * 集中管理语音识别相关逻辑
7
- *
8
- * @param options 语音识别配置
9
- */
10
-
11
- export function useSpeechHandler(options: SpeechHookOptions): SpeechHandler {
12
- // 语音识别状态
13
- const speechState = reactive<SpeechState>({
14
- isRecording: false,
15
- isSupported:
16
- (typeof window !== 'undefined' && 'webkitSpeechRecognition' in window) || 'SpeechRecognition' in window,
17
- error: undefined,
18
- })
19
-
20
- // 创建语音识别实例
21
- const recognition: SpeechRecognition | undefined = speechState.isSupported
22
- ? new (window.webkitSpeechRecognition || window.SpeechRecognition)()
23
- : undefined
24
-
25
- // 初始化语音识别配置
26
- if (recognition !== undefined) {
27
- recognition.continuous = options.continuous ?? false
28
- recognition.interimResults = options.interimResults ?? true
29
- recognition.lang = options.lang ?? navigator.language
30
-
31
- // 开始识别事件
32
- recognition.onstart = () => {
33
- speechState.isRecording = true
34
- speechState.error = undefined
35
- options.onStart?.()
36
- }
37
-
38
- // 结束识别事件
39
- recognition.onend = () => {
40
- speechState.isRecording = false
41
- options.onEnd?.()
42
- }
43
-
44
- // 中间结果事件
45
- recognition.onresult = (event: SpeechRecognitionEvent) => {
46
- const transcript = Array.from(event.results)
47
- .map((result) => result[0].transcript)
48
- .join('')
49
-
50
- if (event.results[0].isFinal) {
51
- options.onFinal?.(transcript)
52
- } else {
53
- options.onInterim?.(transcript)
54
- }
55
- }
56
-
57
- // 错误处理
58
- recognition.onerror = (event: SpeechRecognitionErrorEvent) => {
59
- speechState.error = new Error(event.error)
60
- speechState.isRecording = false
61
- options.onError?.(speechState.error)
62
- }
63
- }
64
-
65
- // 开始录音
66
- const start = () => {
67
- if (!recognition) {
68
- const error = new Error('浏览器不支持语音识别')
69
- speechState.error = error
70
- options.onError?.(error)
71
- return
72
- }
73
-
74
- // 已经在录音中则先停止当前会话
75
- if (speechState.isRecording) {
76
- try {
77
- recognition.stop()
78
- // 短暂延迟后再开始新的录音会话
79
- setTimeout(() => {
80
- try {
81
- recognition.start()
82
- } catch (err) {
83
- handleError(err)
84
- }
85
- }, 100)
86
- } catch (err) {
87
- handleError(err)
88
- }
89
- return
90
- }
91
-
92
- try {
93
- recognition.start()
94
- } catch (error) {
95
- handleError(error)
96
- }
97
- }
98
-
99
- // 停止录音
100
- const stop = () => {
101
- if (recognition && speechState.isRecording) {
102
- try {
103
- recognition.stop()
104
- } catch (error) {
105
- handleError(error)
106
- }
107
- }
108
- }
109
-
110
- // 处理错误
111
- const handleError = (error: unknown) => {
112
- speechState.error = error instanceof Error ? error : new Error('语音识别操作失败')
113
- speechState.isRecording = false
114
- options.onError?.(speechState.error)
115
- }
116
-
117
- return {
118
- speechState,
119
- start,
120
- stop,
121
- }
122
- }
@@ -1,352 +0,0 @@
1
- @import './vars.less';
2
-
3
- // 主要组件样式
4
- .tiny-sender {
5
- position: relative;
6
- color: var(--tr-sender-text-color);
7
-
8
- // TinyUI 输入框调整
9
- .tiny-input__prefix {
10
- left: 0;
11
- display: flex;
12
- align-items: center;
13
- }
14
-
15
- .tiny-input__inner {
16
- border: none;
17
- padding-left: 0;
18
- padding-right: 16px;
19
- background-color: var(--tr-sender-bg-color);
20
- color: var(--tr-sender-text-color);
21
-
22
- &::placeholder {
23
- color: var(--tr-sender-text-color-secondary);
24
- }
25
- }
26
-
27
- .tiny-input.is-disabled .tiny-input__inner {
28
- border: none;
29
- background: var(--tr-sender-bg-color);
30
- color: var(--tr-sender-text-color-secondary);
31
- }
32
-
33
- .tiny-textarea.is-disabled .tiny-textarea__inner {
34
- border: none;
35
- background: var(--tr-sender-bg-color);
36
- color: var(--tr-sender-text-color-secondary);
37
- }
38
-
39
- .tiny-input__suffix {
40
- right: 0;
41
- display: flex;
42
- align-items: center;
43
- }
44
-
45
- .tiny-textarea__inner {
46
- border: none;
47
- height: 26px;
48
-
49
- padding: 0;
50
- align-content: center; // 使内容垂直居中
51
- background-color: var(--tr-sender-bg-color);
52
- color: var(--tr-sender-text-color);
53
-
54
- &::placeholder {
55
- color: var(--tr-sender-text-color-secondary);
56
- }
57
- }
58
-
59
- .tiny-textarea:before,
60
- .tiny-textarea:after {
61
- display: none;
62
- }
63
-
64
- // 内容容器 - 包含输入框、工具栏等
65
- &__container {
66
- display: flex;
67
- flex-direction: column;
68
- width: 100%;
69
- }
70
-
71
- // 输入行 - 横向布局,包含prefix、content、actions
72
- &__input-row {
73
- display: flex;
74
- align-items: stretch;
75
- width: 100%;
76
- }
77
-
78
- // 头部插槽
79
- &__header-slot {
80
- width: 100%;
81
- max-height: var(--tr-sender-header-max-height);
82
- min-height: var(--tr-sender-header-min-height);
83
- overflow-y: auto;
84
- border-radius: var(--tr-sender-border-radius) var(--tr-sender-border-radius) 0 0;
85
- background: var(--tr-sender-bg-color);
86
- padding: var(--tr-sender-header-padding);
87
- margin-bottom: var(--tr-sender-gap);
88
- z-index: 1;
89
- border-bottom: 1px solid var(--tr-sender-border-color);
90
- }
91
-
92
- // 底部插槽
93
- &__footer-slot {
94
- width: 100%;
95
- border-radius: 0 0 var(--tr-sender-border-radius) var(--tr-sender-border-radius);
96
- background: var(--tr-sender-footer-bg);
97
- z-index: 1;
98
-
99
- &.tiny-sender__bottom-row {
100
- padding: 2px 10px 10px 24px;
101
- display: flex;
102
- justify-content: space-between;
103
- align-items: center;
104
- }
105
-
106
- .suggestion-item {
107
- padding: var(--tr-sender-padding-top) var(--tr-sender-padding-right) var(--tr-sender-padding-bottom)
108
- var(--tr-sender-padding-left);
109
- cursor: pointer;
110
- transition: background-color var(--tr-sender-transition-duration);
111
-
112
- &:hover {
113
- background: var(--tr-sender-footer-hover);
114
- }
115
- }
116
- }
117
-
118
- // 输入区域
119
- &__input-wrapper {
120
- position: relative;
121
- width: 100%;
122
- margin: var(--tr-sender-gap) 0;
123
- border: none;
124
- padding: 0;
125
- border-radius: var(--tr-sender-border-radius);
126
- box-shadow: var(--tr-sender-box-shadow);
127
- background-color: var(--tr-sender-bg-color);
128
- display: flex;
129
- flex-direction: column;
130
-
131
- .tiny-input__count {
132
- display: flex;
133
- }
134
-
135
- .tiny-input__count-inner {
136
- height: 22px;
137
- right: 0;
138
- }
139
- }
140
-
141
- // 内容区域
142
- &__content-area {
143
- flex: var(--tr-sender-content-flex-grow) 1 var(--tr-sender-content-min-width);
144
- min-width: var(--tr-sender-content-min-width);
145
- padding: var(--tr-sender-content-padding);
146
- position: relative;
147
- overflow: hidden;
148
-
149
- // 当前置插槽存在时,调整内边距
150
- .has-prefix & {
151
- padding: var(--tr-sender-content-padding-with-prefix);
152
- }
153
-
154
- .has-header & {
155
- padding-top: 0;
156
- }
157
-
158
- .tiny-textarea,
159
- .tiny-input {
160
- width: 100%;
161
- }
162
- }
163
-
164
- // 前缀区域
165
- &__prefix-slot {
166
- width: var(--tr-sender-prefix-width);
167
- min-width: var(--tr-sender-prefix-min-width);
168
- flex: 0 0 var(--tr-sender-prefix-width); /* 固定宽度,不可伸缩 */
169
- display: flex;
170
- align-items: start;
171
- justify-content: center;
172
- background: var(--tr-sender-bg-color);
173
- border-radius: var(--tr-sender-border-radius) 0 0 var(--tr-sender-border-radius);
174
- transition: background-color var(--tr-sender-transition-duration);
175
- padding-top: 8px;
176
- padding-left: var(--tr-sender-prefix-padding-left);
177
- padding-right: calc(var(--tr-sender-padding-right) / 2);
178
-
179
- &:hover {
180
- background-color: var(--tr-sender-prefix-hover-bg);
181
- }
182
- }
183
-
184
- // 动作区域
185
- &__actions-slot {
186
- display: flex;
187
- align-items: center;
188
- gap: var(--tr-sender-actions-gap);
189
- margin-left: auto;
190
- flex: 0 0 auto; /* 不可伸缩,但可以根据内容自适应宽度 */
191
- min-width: var(--tr-sender-actions-min-width);
192
- padding-right: var(--tr-sender-actions-padding-right);
193
-
194
- .button-icon {
195
- font-size: var(--tr-sender-actions-icon-size);
196
- transition: transform var(--tr-sender-transition-duration);
197
-
198
- &:hover {
199
- transform: scale(1.1);
200
- }
201
- }
202
- }
203
-
204
- &__bottom-row {
205
- padding: 2px 10px 10px 24px;
206
- }
207
-
208
- // 字数限制
209
- &__word-limit {
210
- font-size: var(--tr-sender-font-size);
211
- font-weight: 400;
212
- line-height: 22px;
213
- text-align: left;
214
- letter-spacing: 0;
215
- color: var(--tr-sender-word-limit-color);
216
- }
217
-
218
- // 输入建议
219
- &__suggestions {
220
- position: absolute;
221
- bottom: 100%;
222
- left: 0;
223
- width: 100%;
224
- background: var(--tr-sender-bg-color);
225
- border: 1px solid var(--tr-sender-border-color);
226
- border-radius: var(--tr-sender-border-radius);
227
- box-shadow: var(--tr-sender-box-shadow);
228
- z-index: 10;
229
- max-height: 200px;
230
- overflow-y: auto;
231
- }
232
-
233
- // 错误提示
234
- &__error {
235
- position: absolute;
236
- bottom: -20px;
237
- left: 0;
238
- color: var(--tr-sender-error-color);
239
- font-size: var(--tr-sender-font-size-small);
240
- }
241
-
242
- // 禁用状态
243
- &.is-disabled {
244
- opacity: 0.7;
245
- cursor: not-allowed;
246
- }
247
-
248
- // 加载状态
249
- &.is-loading {
250
- cursor: wait;
251
-
252
- .tiny-input__inner {
253
- cursor: wait;
254
- background-color: var(--tr-sender-bg-color);
255
- }
256
-
257
- .tiny-textarea__inner {
258
- cursor: wait;
259
- background-color: var(--tr-sender-bg-color);
260
- }
261
- }
262
-
263
- // 错误状态
264
- &.has-error {
265
- border-color: var(--tr-sender-error-color);
266
- }
267
-
268
- // 响应式设计
269
- @media (max-width: 768px) {
270
- &__prefix-slot {
271
- width: var(--tr-sender-prefix-min-width);
272
- min-width: var(--tr-sender-prefix-min-width);
273
- }
274
-
275
- &__actions-slot {
276
- padding: 0 calc(var(--tr-sender-padding-right) / 2);
277
- gap: calc(var(--tr-sender-actions-gap) / 2);
278
- min-width: auto;
279
- }
280
-
281
- &__header-slot,
282
- &__footer-slot {
283
- padding: calc(var(--tr-sender-padding-top) / 2);
284
- }
285
-
286
- &__content-area {
287
- min-width: 120px;
288
- }
289
- }
290
- }
291
-
292
- // ActionButtons组件样式
293
- .action-buttons {
294
- display: flex;
295
- gap: var(--tr-sender-gap);
296
- padding-left: var(--tr-sender-padding-left);
297
- padding-right: var(--tr-sender-padding-right);
298
- background: var(--tr-sender-bg-color);
299
- border-radius: var(--tr-sender-border-radius);
300
- align-items: center;
301
-
302
- /* 按钮图标统一样式 */
303
- .button-icon {
304
- font-size: var(--tr-sender-icon-size);
305
- transition: transform var(--tr-sender-transition-duration);
306
- fill: var(--tr-sender-button-icon-color);
307
- color: var(--tr-sender-button-icon-color);
308
- margin-right: 0;
309
-
310
- &:hover {
311
- transform: scale(1.1);
312
- border-radius: 8px;
313
- background-color: var(--tr-sender-prefix-hover-bg);
314
- }
315
- }
316
-
317
- .submit-button {
318
- margin-left: 0;
319
- }
320
-
321
- /* 禁用状态样式 */
322
- .is-disabled {
323
- opacity: 0.6;
324
- cursor: not-allowed;
325
- }
326
- }
327
-
328
- .button-content {
329
- display: inline-flex;
330
- align-items: center;
331
- gap: 6px;
332
- position: relative;
333
-
334
- // 当只有图标时保持居中
335
- &:empty {
336
- display: block;
337
- }
338
- }
339
-
340
- .shortcut-hint {
341
- position: absolute;
342
- bottom: -16px;
343
- font-size: 10px;
344
- color: var(--tr-sender-text-color-secondary);
345
- white-space: nowrap;
346
- user-select: none;
347
- }
348
-
349
- /** 处理相邻按钮元素边界 */
350
- .tiny-button + .tiny-button {
351
- margin-left: 0;
352
- }
@@ -1,12 +0,0 @@
1
- import { App } from 'vue'
2
- import Sender from './index.vue'
3
-
4
- Sender.name = 'TrSender'
5
-
6
- const install = function <T>(app: App<T>) {
7
- app.component(Sender.name!, Sender)
8
- }
9
-
10
- Sender.install = install
11
-
12
- export default Sender as typeof Sender & { install: typeof install }
@@ -1,162 +0,0 @@
1
- import type { Ref } from 'vue'
2
- /**
3
- * 组件核心类型定义
4
- */
5
-
6
- // 主题类型
7
- export type ThemeType = 'light' | 'dark'
8
-
9
- // 输入模式类型
10
- export type InputMode = 'single' | 'multiple'
11
-
12
- // 提交触发方式
13
- export type SubmitTrigger = 'enter' | 'ctrlEnter' | 'shiftEnter'
14
-
15
- // 语音识别配置
16
- export interface SpeechConfig {
17
- lang?: string // 识别语言,默认浏览器语言
18
- continuous?: boolean // 是否持续识别
19
- interimResults?: boolean // 是否返回中间结果
20
- autoReplace?: boolean // 是否自动替换当前输入内容
21
- }
22
-
23
- export type AutoSize = boolean | { minRows: number; maxRows: number }
24
-
25
- // Sender组件属性
26
- export interface SenderProps {
27
- autofocus?: boolean // 自动聚焦
28
- autoSize?: AutoSize // 自适应内容高度
29
- allowSpeech?: boolean // 是否允许语音识别
30
- allowFiles?: boolean // 是否允许上传附件
31
- clearable?: boolean // 是否显示清除按钮
32
- disabled?: boolean // 禁用状态
33
- defaultValue?: string | null // 默认值
34
- loading?: boolean // 加载状态
35
- modelValue?: string // 双向绑定值
36
- mode?: InputMode // 输入框模式:单行/多行
37
- maxLength?: number // 最大输入长度
38
- submitType?: SubmitTrigger // 提交触发方式
39
- speech?: boolean | SpeechConfig // 语音识别配置
40
- placeholder?: string // 占位文本
41
- showWordLimit?: boolean // 显示字数统计
42
- suggestions?: string[] // 输入建议
43
- theme?: ThemeType // 主题
44
- template?: string // 模板字符串,格式如 "你好 [称呼],感谢您的 [事项]"
45
- hasContent?: boolean // 手动指定是否有内容,用于模板模式
46
- }
47
-
48
- export interface ActionButtonsProps {
49
- loading?: boolean // 加载状态
50
- disabled?: boolean // 是否禁用
51
- showClear?: boolean // 是否可以清除
52
- hasContent?: boolean // 是否有文本内容
53
- allowSpeech?: boolean // 是否允许语音识别
54
- speechStatus?: {
55
- isRecording: boolean // 是否正在录制
56
- isSupported: boolean // 是否支持语音识别
57
- }
58
- allowFiles?: boolean // 是否允许上传附件
59
- submitType?: SubmitTrigger // 提交触发方式
60
- showShortcuts?: boolean // 是否显示快捷键提示
61
- }
62
-
63
- // 组件事件定义
64
- export type SenderEmits = {
65
- (e: 'update:modelValue', value: string): void
66
- (e: 'submit', value: string): void
67
- (e: 'clear'): void
68
- (e: 'speech-start'): void
69
- (e: 'speech-end', transcript?: string): void
70
- (e: 'speech-interim', transcript: string): void
71
- (e: 'speech-error', error: Error): void
72
- (e: 'suggestion-select', value: string): void
73
- (e: 'focus', event: FocusEvent): void
74
- (e: 'blur', event: FocusEvent): void
75
- (e: 'escape-press'): void // 按下Esc键时触发
76
- (e: 'cancel'): void // 取消发送状态时触发
77
- (e: 'reset-template'): void // 重置模板状态,退出模板编辑模式
78
- }
79
-
80
- // 语音识别状态
81
- export interface SpeechState {
82
- isRecording: boolean // 是否正在录音
83
- isSupported: boolean // 是否支持语音识别
84
- error?: Error // 错误信息
85
- }
86
-
87
- // 语音识别Hook配置
88
- export interface SpeechHookOptions extends SpeechConfig {
89
- onStart?: () => void
90
- onEnd?: (transcript?: string) => void
91
- onInterim?: (transcript: string) => void
92
- onFinal?: (transcript: string) => void
93
- onError?: (error: Error) => void
94
- }
95
-
96
- // 输入处理器返回类型
97
- export interface InputHandler {
98
- inputValue: Ref<string>
99
- isComposing: Ref<boolean>
100
- clearInput: () => void
101
- }
102
-
103
- // 键盘处理器返回类型
104
- export interface KeyboardHandler {
105
- handleKeyPress: (e: KeyboardEvent) => void
106
- triggerSubmit: () => void
107
- }
108
-
109
- // 语音识别Hook返回类型
110
- export interface SpeechHandler {
111
- speechState: SpeechState
112
- start: () => void
113
- stop: () => void
114
- }
115
-
116
- /**
117
- * 模板部分定义
118
- */
119
- export interface TemplatePart {
120
- /** 内容文本 */
121
- content: string
122
- /** 是否为可编辑字段 */
123
- isField: boolean
124
- /** 占位符文本 (当字段为空时显示) */
125
- placeholder?: string
126
- /** 字段索引 (用于标识可编辑字段) */
127
- fieldIndex?: number
128
- }
129
-
130
- /**
131
- * 模板编辑器属性
132
- */
133
- export interface TemplateEditorProps {
134
- /** 模板字符串,格式为普通文本与 [占位符] 的组合 */
135
- template: string
136
- /** 当前值 */
137
- value?: string
138
- }
139
-
140
- /**
141
- * 模板编辑器事件
142
- */
143
- export interface TemplateEditorEmits {
144
- /** 更新值 */
145
- (e: 'update:value', value: string): void
146
- /** 输入事件 */
147
- (e: 'input', value: string): void
148
- /** 内容变更状态 - 通知父组件是否有内容 */
149
- (e: 'content-status', hasContent: boolean): void
150
- /** 字段激活状态变更 */
151
- (e: 'field-active', isActive: boolean, index: number): void
152
- }
153
-
154
- /**
155
- * 模板编辑器暴露的方法
156
- */
157
- export interface TemplateEditorExpose {
158
- /** 激活第一个可编辑字段 */
159
- activateFirstField: () => void
160
- /** 重置所有字段 */
161
- resetFields: () => void
162
- }