@opentiny/tiny-robot 0.1.0-alpha.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 (260) hide show
  1. package/.vscode/extensions.json +3 -0
  2. package/README.md +1 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/dist/bubble-item/components/actions/copy.vue.d.ts +10 -0
  5. package/dist/bubble-item/components/actions/index.d.ts +2 -0
  6. package/dist/bubble-item/components/actions/refresh.vue.d.ts +2 -0
  7. package/dist/bubble-item/components/icons/ai.vue.d.ts +2 -0
  8. package/dist/bubble-item/components/icons/index.d.ts +2 -0
  9. package/dist/bubble-item/components/icons/user.vue.d.ts +2 -0
  10. package/dist/bubble-item/index.d.ts +7 -0
  11. package/dist/bubble-list/bubble-list.vue.d.ts +5 -0
  12. package/dist/bubble-list/index.d.ts +8 -0
  13. package/dist/bubble-list/index.type.d.ts +55 -0
  14. package/dist/conversations/index.d.ts +7 -0
  15. package/dist/conversations/index.vue.d.ts +2 -0
  16. package/dist/index.d.ts +12 -0
  17. package/dist/index.js +29 -0
  18. package/dist/node_modules/.pnpm/@opentiny_utils@3.22.0/node_modules/@opentiny/utils/dist/index.es.js +2202 -0
  19. package/dist/node_modules/.pnpm/@opentiny_vue-button@3.22.0/node_modules/@opentiny/vue-button/lib/index.js +113 -0
  20. package/dist/node_modules/.pnpm/@opentiny_vue-button@3.22.0/node_modules/@opentiny/vue-button/lib/pc.js +93 -0
  21. package/dist/node_modules/.pnpm/@opentiny_vue-common@3.22.0/node_modules/@opentiny/vue-common/lib/index.js +725 -0
  22. package/dist/node_modules/.pnpm/@opentiny_vue-dialog-box@3.22.0/node_modules/@opentiny/vue-dialog-box/lib/index.js +198 -0
  23. package/dist/node_modules/.pnpm/@opentiny_vue-dialog-box@3.22.0/node_modules/@opentiny/vue-dialog-box/lib/pc.js +204 -0
  24. package/dist/node_modules/.pnpm/@opentiny_vue-directive@3.22.0/node_modules/@opentiny/vue-directive/index.js +57 -0
  25. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useEventListener.js +10 -0
  26. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useInstanceSlots.js +14 -0
  27. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/useRelation.js +54 -0
  28. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/vue-popper.js +85 -0
  29. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/vue-popup.js +69 -0
  30. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/close.js +29 -0
  31. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/eyeclose.js +42 -0
  32. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/eyeopen.js +43 -0
  33. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/finish.js +34 -0
  34. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/fullscreen.js +30 -0
  35. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/loading-shadow.js +78 -0
  36. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/minscreen.js +30 -0
  37. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-column-after.js +24 -0
  38. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-column-before.js +24 -0
  39. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-row-after.js +24 -0
  40. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-add-row-before.js +24 -0
  41. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-center.js +24 -0
  42. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-left.js +24 -0
  43. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-align-right.js +24 -0
  44. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-bold.js +24 -0
  45. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-code-block.js +24 -0
  46. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-code-view.js +24 -0
  47. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-color.js +24 -0
  48. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-column.js +24 -0
  49. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-row.js +24 -0
  50. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-delete-table.js +24 -0
  51. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-font-size.js +24 -0
  52. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-format-clear.js +24 -0
  53. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h1.js +24 -0
  54. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h2.js +24 -0
  55. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h3.js +24 -0
  56. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h4.js +24 -0
  57. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h5.js +24 -0
  58. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-h6.js +24 -0
  59. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-heading.js +24 -0
  60. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-high-light.js +24 -0
  61. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-image.js +24 -0
  62. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-italic.js +24 -0
  63. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-line-height.js +24 -0
  64. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-link-unlink.js +24 -0
  65. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-link.js +24 -0
  66. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-list-ordered.js +24 -0
  67. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-list-unordered.js +24 -0
  68. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-merge-cells-vertical.js +24 -0
  69. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-merge-cells.js +24 -0
  70. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-node-delete.js +24 -0
  71. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-paragraph.js +24 -0
  72. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-quote-text.js +24 -0
  73. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-redo.js +24 -0
  74. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-split-cells-horizontal.js +24 -0
  75. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-split-cells-vertical.js +24 -0
  76. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-strike-through.js +24 -0
  77. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-subscript.js +24 -0
  78. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-superscript.js +24 -0
  79. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-table.js +24 -0
  80. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-task-list.js +24 -0
  81. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-underline.js +24 -0
  82. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/rich-text-undo.js +24 -0
  83. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/sub-script.js +29 -0
  84. package/dist/node_modules/.pnpm/@opentiny_vue-icon@3.22.0/node_modules/@opentiny/vue-icon/lib/warn.js +26 -0
  85. package/dist/node_modules/.pnpm/@opentiny_vue-input@3.22.0/node_modules/@opentiny/vue-input/lib/index.js +196 -0
  86. package/dist/node_modules/.pnpm/@opentiny_vue-input@3.22.0/node_modules/@opentiny/vue-input/lib/pc.js +568 -0
  87. package/dist/node_modules/.pnpm/@opentiny_vue-locale@3.22.0/node_modules/@opentiny/vue-locale/lib/index.js +1783 -0
  88. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/button/index.js +13 -0
  89. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/button/vue.js +34 -0
  90. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/chunk-G2ADBYYC.js +12 -0
  91. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/dialog-box/index.js +135 -0
  92. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/dialog-box/vue.js +149 -0
  93. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/input/index.js +228 -0
  94. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/input/vue.js +263 -0
  95. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tall-storage/index.js +63 -0
  96. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tall-storage/vue-storage-box.js +16 -0
  97. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tall-storage/vue.js +23 -0
  98. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/index.js +77 -0
  99. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/vue.js +90 -0
  100. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/index.js +176 -0
  101. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/pc.js +248 -0
  102. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode.js +277 -0
  103. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode_codepoint.js +46 -0
  104. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  105. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  106. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/index.js +187 -0
  107. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/lib/re.js +19 -0
  108. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js +5 -0
  109. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js +10 -0
  110. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js +8 -0
  111. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js +4 -0
  112. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js +15 -0
  113. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js +7 -0
  114. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js +5 -0
  115. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
  116. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/debounce.js +54 -0
  117. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js +7 -0
  118. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js +6 -0
  119. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js +9 -0
  120. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/now.js +7 -0
  121. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js +22 -0
  122. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_blocks.js +67 -0
  123. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_re.js +5 -0
  124. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/utils.js +164 -0
  125. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/index.js +8 -0
  126. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_destination.js +44 -0
  127. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_label.js +21 -0
  128. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_title.js +37 -0
  129. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/index.js +112 -0
  130. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_block.js +63 -0
  131. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_core.js +34 -0
  132. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_inline.js +96 -0
  133. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/commonmark.js +78 -0
  134. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/default.js +40 -0
  135. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/zero.js +59 -0
  136. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/renderer.js +127 -0
  137. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/ruler.js +95 -0
  138. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/blockquote.js +59 -0
  139. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/code.js +23 -0
  140. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/fence.js +30 -0
  141. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/heading.js +28 -0
  142. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/hr.js +27 -0
  143. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/html_block.js +37 -0
  144. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/lheading.js +43 -0
  145. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/list.js +110 -0
  146. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/paragraph.js +25 -0
  147. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/reference.js +95 -0
  148. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/state_block.js +84 -0
  149. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/table.js +99 -0
  150. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/block.js +7 -0
  151. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/inline.js +10 -0
  152. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/linkify.js +57 -0
  153. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/normalize.js +9 -0
  154. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/replacements.js +31 -0
  155. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/smartquotes.js +80 -0
  156. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/state_core.js +8 -0
  157. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/text_join.js +16 -0
  158. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/autolink.js +46 -0
  159. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/backticks.js +31 -0
  160. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +34 -0
  161. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/emphasis.js +57 -0
  162. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/entity.js +33 -0
  163. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/escape.js +32 -0
  164. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/fragments_join.js +10 -0
  165. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/html_inline.js +32 -0
  166. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/image.js +48 -0
  167. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/link.js +40 -0
  168. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/linkify.js +28 -0
  169. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/newline.js +23 -0
  170. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/state_inline.js +27 -0
  171. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/strikethrough.js +54 -0
  172. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/text.js +39 -0
  173. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/token.js +31 -0
  174. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/index.js +10 -0
  175. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/decode.js +61 -0
  176. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/encode.js +48 -0
  177. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/format.js +7 -0
  178. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/parse.js +74 -0
  179. package/dist/node_modules/.pnpm/punycode.js@2.3.1/node_modules/punycode.js/punycode.es6.js +139 -0
  180. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cc/regex.js +4 -0
  181. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cf/regex.js +4 -0
  182. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/P/regex.js +4 -0
  183. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/S/regex.js +4 -0
  184. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Z/regex.js +4 -0
  185. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/index.js +14 -0
  186. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/properties/Any/regex.js +4 -0
  187. package/dist/packages/components/src/assets/icons/accessory.svg.js +4 -0
  188. package/dist/packages/components/src/assets/icons/loading-speech.svg.js +4 -0
  189. package/dist/packages/components/src/assets/icons/loading.svg.js +4 -0
  190. package/dist/packages/components/src/assets/icons/send.svg.js +4 -0
  191. package/dist/packages/components/src/assets/icons/voice.svg.js +4 -0
  192. package/dist/packages/components/src/bubble-item/bubble-item.vue.js +7 -0
  193. package/dist/packages/components/src/bubble-item/bubble-item.vue2.js +111 -0
  194. package/dist/packages/components/src/bubble-item/components/actions/copy.vue.js +46 -0
  195. package/dist/packages/components/src/bubble-item/components/actions/copy.vue2.js +4 -0
  196. package/dist/packages/components/src/bubble-item/components/actions/refresh.vue.js +12 -0
  197. package/dist/packages/components/src/bubble-item/components/icons/ai.vue.js +45 -0
  198. package/dist/packages/components/src/bubble-item/components/icons/user.vue.js +63 -0
  199. package/dist/packages/components/src/bubble-item/index.js +9 -0
  200. package/dist/packages/components/src/bubble-list/bubble-list.vue.js +7 -0
  201. package/dist/packages/components/src/bubble-list/bubble-list.vue2.js +52 -0
  202. package/dist/packages/components/src/bubble-list/index.js +9 -0
  203. package/dist/packages/components/src/conversations/index.js +9 -0
  204. package/dist/packages/components/src/conversations/index.vue.js +9 -0
  205. package/dist/packages/components/src/sender/components/ActionButtons.vue.js +161 -0
  206. package/dist/packages/components/src/sender/components/ActionButtons.vue2.js +4 -0
  207. package/dist/packages/components/src/sender/composables/useInputHandler.js +34 -0
  208. package/dist/packages/components/src/sender/composables/useKeyboardHandler.js +31 -0
  209. package/dist/packages/components/src/sender/composables/useSpeechHandler.js +67 -0
  210. package/dist/packages/components/src/sender/index.js +9 -0
  211. package/dist/packages/components/src/sender/index.vue.js +233 -0
  212. package/dist/packages/components/src/sender/index.vue2.js +4 -0
  213. package/dist/packages/components/src/welcome/index.js +9 -0
  214. package/dist/packages/components/src/welcome/index.vue.js +9 -0
  215. package/dist/sender/components/ActionButtons.vue.d.ts +23 -0
  216. package/dist/sender/composables/useInputHandler.d.ts +17 -0
  217. package/dist/sender/composables/useKeyboardHandler.d.ts +18 -0
  218. package/dist/sender/composables/useSpeechHandler.d.ts +14 -0
  219. package/dist/sender/index.d.ts +7 -0
  220. package/dist/sender/index.type.d.ts +90 -0
  221. package/dist/sender/index.vue.d.ts +948 -0
  222. package/dist/style.css +1 -0
  223. package/dist/welcome/index.d.ts +7 -0
  224. package/dist/welcome/index.vue.d.ts +2 -0
  225. package/package.json +42 -0
  226. package/src/assets/icons/accessory.svg +12 -0
  227. package/src/assets/icons/loading-speech.svg +16 -0
  228. package/src/assets/icons/loading.svg +17 -0
  229. package/src/assets/icons/send.svg +21 -0
  230. package/src/assets/icons/voice.svg +22 -0
  231. package/src/bubble-item/bubble-item.vue +264 -0
  232. package/src/bubble-item/components/actions/copy.vue +47 -0
  233. package/src/bubble-item/components/actions/index.ts +2 -0
  234. package/src/bubble-item/components/actions/refresh.vue +27 -0
  235. package/src/bubble-item/components/icons/ai.vue +30 -0
  236. package/src/bubble-item/components/icons/index.ts +2 -0
  237. package/src/bubble-item/components/icons/user.vue +78 -0
  238. package/src/bubble-item/index.ts +12 -0
  239. package/src/bubble-list/bubble-list.vue +53 -0
  240. package/src/bubble-list/index.ts +14 -0
  241. package/src/bubble-list/index.type.ts +65 -0
  242. package/src/conversations/index.ts +12 -0
  243. package/src/conversations/index.vue +3 -0
  244. package/src/index.ts +30 -0
  245. package/src/sender/components/ActionButtons.vue +165 -0
  246. package/src/sender/composables/useInputHandler.ts +69 -0
  247. package/src/sender/composables/useKeyboardHandler.ts +99 -0
  248. package/src/sender/composables/useSpeechHandler.ts +128 -0
  249. package/src/sender/global.d.ts +44 -0
  250. package/src/sender/index.less +344 -0
  251. package/src/sender/index.ts +12 -0
  252. package/src/sender/index.type.ts +111 -0
  253. package/src/sender/index.vue +289 -0
  254. package/src/sender/vars.less +84 -0
  255. package/src/vite-env.d.ts +1 -0
  256. package/src/welcome/index.ts +12 -0
  257. package/src/welcome/index.vue +3 -0
  258. package/tsconfig.json +37 -0
  259. package/tsconfig.node.json +10 -0
  260. package/vite.config.ts +53 -0
@@ -0,0 +1,344 @@
1
+ @import './vars.less';
2
+
3
+ // 主要组件样式
4
+ .tiny-sender {
5
+ border: 1px solid var(--tr-sender-border-color);
6
+ border-radius: var(--tr-sender-border-radius);
7
+ background: var(--tr-sender-bg-color);
8
+ position: relative;
9
+ color: var(--tr-sender-text-color);
10
+ padding: var(--tr-sender-padding-top) var(--tr-sender-padding-right) var(--tr-sender-padding-bottom)
11
+ var(--tr-sender-padding-left);
12
+
13
+ // TinyUI 输入框调整
14
+ .tiny-input__prefix {
15
+ left: 0;
16
+ display: flex;
17
+ align-items: center;
18
+ }
19
+
20
+ .tiny-input__inner {
21
+ border: none;
22
+ padding-left: 0;
23
+ padding-right: 16px;
24
+ background-color: var(--tr-sender-bg-color);
25
+ color: var(--tr-sender-text-color);
26
+
27
+ &::placeholder {
28
+ color: var(--tr-sender-text-color-secondary);
29
+ }
30
+ }
31
+
32
+ .tiny-input.is-disabled .tiny-input__inner {
33
+ border: none;
34
+ background: var(--tr-sender-bg-color);
35
+ color: var(--tr-sender-text-color-secondary);
36
+ }
37
+
38
+ .tiny-input__suffix {
39
+ right: 0;
40
+ display: flex;
41
+ align-items: center;
42
+ }
43
+
44
+ .tiny-textarea__inner {
45
+ border: none;
46
+ height: var(--tr-sender-input-height);
47
+ padding-left: 0;
48
+ padding-right: 0;
49
+ background-color: var(--tr-sender-bg-color);
50
+ color: var(--tr-sender-text-color);
51
+
52
+ &::placeholder {
53
+ color: var(--tr-sender-text-color-secondary);
54
+ }
55
+ }
56
+
57
+ .tiny-textarea:before,
58
+ .tiny-textarea:after {
59
+ display: none;
60
+ }
61
+
62
+ // 内容容器 - 包含输入框、工具栏等
63
+ &__container {
64
+ display: flex;
65
+ flex-direction: column;
66
+ width: 100%;
67
+ }
68
+
69
+ // 输入行 - 横向布局,包含prefix、content、actions
70
+ &__input-row {
71
+ display: flex;
72
+ align-items: stretch;
73
+ width: 100%;
74
+ }
75
+
76
+ // 头部插槽
77
+ &__header-slot {
78
+ width: 100%;
79
+ max-height: var(--tr-sender-header-max-height);
80
+ min-height: var(--tr-sender-header-min-height);
81
+ overflow-y: auto;
82
+ border-radius: var(--tr-sender-border-radius) var(--tr-sender-border-radius) 0 0;
83
+ background: var(--tr-sender-bg-color);
84
+ padding: var(--tr-sender-header-padding);
85
+ margin-bottom: var(--tr-sender-gap);
86
+ z-index: 1;
87
+ border-bottom: 1px solid var(--tr-sender-border-color);
88
+ }
89
+
90
+ // 底部插槽
91
+ &__footer-slot {
92
+ width: 100%;
93
+ border-radius: 0 0 var(--tr-sender-border-radius) var(--tr-sender-border-radius);
94
+ background: var(--tr-sender-footer-bg);
95
+ margin-top: var(--tr-sender-gap);
96
+ z-index: 1;
97
+
98
+ &.tiny-sender__bottom-row {
99
+ padding: 2px 10px 10px 24px;
100
+ display: flex;
101
+ justify-content: space-between;
102
+ align-items: center;
103
+ }
104
+
105
+ .suggestion-item {
106
+ padding: var(--tr-sender-padding-top) var(--tr-sender-padding-right) var(--tr-sender-padding-bottom)
107
+ var(--tr-sender-padding-left);
108
+ cursor: pointer;
109
+ transition: background-color var(--tr-sender-transition-duration);
110
+
111
+ &:hover {
112
+ background: var(--tr-sender-footer-hover);
113
+ }
114
+ }
115
+ }
116
+
117
+ // 输入区域
118
+ &__input-wrapper {
119
+ position: relative;
120
+ width: 100%;
121
+ margin: var(--tr-sender-gap) 0;
122
+ border: none;
123
+ padding: 0;
124
+ border-radius: var(--tr-sender-border-radius);
125
+ box-shadow: var(--tr-sender-box-shadow);
126
+ background-color: var(--tr-sender-bg-color);
127
+ display: flex;
128
+ flex-direction: column;
129
+
130
+ .tiny-input__count {
131
+ display: flex;
132
+ }
133
+
134
+ .tiny-input__count-inner {
135
+ height: 22px;
136
+ right: 0;
137
+ }
138
+ }
139
+
140
+ // 内容区域
141
+ &__content-area {
142
+ flex: var(--tr-sender-content-flex-grow) 1 var(--tr-sender-content-min-width);
143
+ min-width: var(--tr-sender-content-min-width);
144
+ padding: var(--tr-sender-content-padding);
145
+ position: relative;
146
+ overflow: hidden;
147
+
148
+ // 当前置插槽存在时,调整内边距
149
+ .has-prefix & {
150
+ padding: var(--tr-sender-content-padding-with-prefix);
151
+ }
152
+
153
+ .has-header & {
154
+ padding-top: 0;
155
+ }
156
+
157
+ .tiny-textarea,
158
+ .tiny-input {
159
+ width: 100%;
160
+ }
161
+ }
162
+
163
+ // 前缀区域
164
+ &__prefix-slot {
165
+ width: var(--tr-sender-prefix-width);
166
+ min-width: var(--tr-sender-prefix-min-width);
167
+ flex: 0 0 var(--tr-sender-prefix-width); /* 固定宽度,不可伸缩 */
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ background: var(--tr-sender-bg-color);
172
+ border-radius: var(--tr-sender-border-radius) 0 0 var(--tr-sender-border-radius);
173
+ transition: background-color var(--tr-sender-transition-duration);
174
+ padding-left: var(--tr-sender-prefix-padding-left);
175
+ padding-right: calc(var(--tr-sender-padding-right) / 2);
176
+
177
+ &:hover {
178
+ background-color: var(--tr-sender-prefix-hover-bg);
179
+ }
180
+ }
181
+
182
+ // 动作区域
183
+ &__actions-slot {
184
+ display: flex;
185
+ align-items: center;
186
+ gap: var(--tr-sender-actions-gap);
187
+ margin-left: auto;
188
+ flex: 0 0 auto; /* 不可伸缩,但可以根据内容自适应宽度 */
189
+ min-width: var(--tr-sender-actions-min-width);
190
+ padding-right: var(--tr-sender-actions-padding-right);
191
+
192
+ .button-icon {
193
+ font-size: var(--tr-sender-actions-icon-size);
194
+ transition: transform var(--tr-sender-transition-duration);
195
+
196
+ &:hover {
197
+ transform: scale(1.1);
198
+ }
199
+ }
200
+ }
201
+
202
+ &__bottom-row {
203
+ padding: 2px 10px 10px 24px;
204
+ }
205
+
206
+ // 字数限制
207
+ &__word-limit {
208
+ font-size: var(--tr-sender-font-size);
209
+ font-weight: 400;
210
+ line-height: 22px;
211
+ text-align: left;
212
+ letter-spacing: 0;
213
+ color: var(--tr-sender-word-limit-color);
214
+ }
215
+
216
+ // 输入建议
217
+ &__suggestions {
218
+ position: absolute;
219
+ bottom: 100%;
220
+ left: 0;
221
+ width: 100%;
222
+ background: var(--tr-sender-bg-color);
223
+ border: 1px solid var(--tr-sender-border-color);
224
+ border-radius: var(--tr-sender-border-radius);
225
+ box-shadow: var(--tr-sender-box-shadow);
226
+ z-index: 10;
227
+ max-height: 200px;
228
+ overflow-y: auto;
229
+ }
230
+
231
+ // 错误提示
232
+ &__error {
233
+ position: absolute;
234
+ bottom: -20px;
235
+ left: 0;
236
+ color: var(--tr-sender-error-color);
237
+ font-size: var(--tr-sender-font-size-small);
238
+ }
239
+
240
+ // 禁用状态
241
+ &.is-disabled {
242
+ opacity: 0.7;
243
+ cursor: not-allowed;
244
+ }
245
+
246
+ // 加载状态
247
+ &.is-loading {
248
+ cursor: wait;
249
+
250
+ .tiny-input__inner {
251
+ cursor: wait;
252
+ background-color: var(--tr-sender-bg-color);
253
+ }
254
+ }
255
+
256
+ // 错误状态
257
+ &.has-error {
258
+ border-color: var(--tr-sender-error-color);
259
+ }
260
+
261
+ // 响应式设计
262
+ @media (max-width: 768px) {
263
+ &__prefix-slot {
264
+ width: var(--tr-sender-prefix-min-width);
265
+ min-width: var(--tr-sender-prefix-min-width);
266
+ }
267
+
268
+ &__actions-slot {
269
+ padding: 0 calc(var(--tr-sender-padding-right) / 2);
270
+ gap: calc(var(--tr-sender-actions-gap) / 2);
271
+ min-width: auto;
272
+ }
273
+
274
+ &__header-slot,
275
+ &__footer-slot {
276
+ padding: calc(var(--tr-sender-padding-top) / 2);
277
+ }
278
+
279
+ &__content-area {
280
+ min-width: 120px;
281
+ }
282
+ }
283
+ }
284
+
285
+ // ActionButtons组件样式
286
+ .action-buttons {
287
+ display: flex;
288
+ gap: var(--tr-sender-gap);
289
+ padding: var(--tr-sender-padding-top) var(--tr-sender-padding-right) var(--tr-sender-padding-bottom)
290
+ var(--tr-sender-padding-left);
291
+ background: var(--tr-sender-bg-color);
292
+ border-radius: var(--tr-sender-border-radius);
293
+
294
+ /* 按钮图标统一样式 */
295
+ .button-icon {
296
+ font-size: var(--tr-sender-icon-size);
297
+ transition: transform var(--tr-sender-transition-duration);
298
+ fill: var(--tr-sender-button-icon-color);
299
+ color: var(--tr-sender-button-icon-color);
300
+ margin-right: 0;
301
+
302
+ &:hover {
303
+ transform: scale(1.1);
304
+ border-radius: 8px;
305
+ background-color: var(--tr-sender-prefix-hover-bg);
306
+ }
307
+ }
308
+
309
+ .submit-button {
310
+ margin-left: 0;
311
+ }
312
+
313
+ /* 禁用状态样式 */
314
+ .is-disabled {
315
+ opacity: 0.6;
316
+ cursor: not-allowed;
317
+ }
318
+ }
319
+
320
+ .button-content {
321
+ display: inline-flex;
322
+ align-items: center;
323
+ gap: 6px;
324
+ position: relative;
325
+
326
+ // 当只有图标时保持居中
327
+ &:empty {
328
+ display: block;
329
+ }
330
+ }
331
+
332
+ .shortcut-hint {
333
+ position: absolute;
334
+ bottom: -16px;
335
+ font-size: 10px;
336
+ color: var(--tr-sender-text-color-secondary);
337
+ white-space: nowrap;
338
+ user-select: none;
339
+ }
340
+
341
+ /** 处理相邻按钮元素边界 */
342
+ .tiny-button + .tiny-button {
343
+ margin-left: 0;
344
+ }
@@ -0,0 +1,12 @@
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 }
@@ -0,0 +1,111 @@
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
+ debounceSubmit?: number // 提交防抖时间(ms)
35
+ loading?: boolean // 加载状态
36
+ modelValue?: string // 双向绑定值
37
+ mode?: InputMode // 输入框模式:单行/多行
38
+ maxLength?: number // 最大输入长度
39
+ submitType?: SubmitTrigger // 提交触发方式
40
+ speech?: boolean | SpeechConfig // 语音识别配置
41
+ placeholder?: string // 占位文本
42
+ showWordLimit?: boolean // 显示字数统计
43
+ suggestions?: string[] // 输入建议
44
+ theme?: ThemeType // 主题
45
+ }
46
+
47
+ export interface ActionButtonsProps {
48
+ loading?: boolean // 加载状态
49
+ disabled?: boolean // 是否禁用
50
+ showClear?: boolean // 是否可以清除
51
+ hasContent?: boolean // 是否有文本内容
52
+ allowSpeech?: boolean // 是否允许语音识别
53
+ speechStatus?: {
54
+ isRecording: boolean // 是否正在录制
55
+ isSupported: boolean // 是否支持语音识别
56
+ }
57
+ allowFiles?: boolean // 是否允许上传附件
58
+ submitType?: SubmitTrigger // 提交触发方式
59
+ showShortcuts?: boolean // 是否显示快捷键提示
60
+ }
61
+
62
+ // 组件事件定义
63
+ export type SenderEmits = {
64
+ (e: 'update:modelValue', value: string): void
65
+ (e: 'submit', value: string): void
66
+ (e: 'clear'): void
67
+ (e: 'speech-start'): void
68
+ (e: 'speech-end', transcript?: string): void
69
+ (e: 'speech-interim', transcript: string): void
70
+ (e: 'speech-error', error: Error): void
71
+ (e: 'suggestion-select', value: string): void
72
+ (e: 'focus', event: FocusEvent): void
73
+ (e: 'blur', event: FocusEvent): void
74
+ (e: 'escape-press'): void // 按下Esc键时触发
75
+ }
76
+
77
+ // 语音识别状态
78
+ export interface SpeechState {
79
+ isRecording: boolean // 是否正在录音
80
+ isSupported: boolean // 是否支持语音识别
81
+ error?: Error // 错误信息
82
+ }
83
+
84
+ // 语音识别Hook配置
85
+ export interface SpeechHookOptions extends SpeechConfig {
86
+ onStart?: () => void
87
+ onEnd?: (transcript?: string) => void
88
+ onInterim?: (transcript: string) => void
89
+ onFinal?: (transcript: string) => void
90
+ onError?: (error: Error) => void
91
+ }
92
+
93
+ // 输入处理器返回类型
94
+ export interface InputHandler {
95
+ inputValue: Ref<string>
96
+ isComposing: Ref<boolean>
97
+ clearInput: () => void
98
+ }
99
+
100
+ // 键盘处理器返回类型
101
+ export interface KeyboardHandler {
102
+ handleKeyPress: (e: KeyboardEvent) => void
103
+ triggerSubmit: () => void
104
+ }
105
+
106
+ // 语音识别Hook返回类型
107
+ export interface SpeechHandler {
108
+ speechState: SpeechState
109
+ start: () => void
110
+ stop: () => void
111
+ }