dou-ui 0.1.0-alpha.2 → 0.1.0-alpha.3

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 (386) hide show
  1. package/dist/components/button/button.js.map +1 -1
  2. package/dist/components/button/button.vue_vue_type_script_setup_true_lang.js +2 -1
  3. package/dist/components/button/button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  4. package/dist/components/calendar-view/calendar-view.js.map +1 -1
  5. package/dist/components/calendar-view/calendar-view.vue_vue_type_script_setup_true_lang.js +7 -2
  6. package/dist/components/calendar-view/calendar-view.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/components/cascader/cascader.js.map +1 -1
  8. package/dist/components/cascader/cascader.vue_vue_type_script_setup_true_lang.js +3 -3
  9. package/dist/components/cascader/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/chat-artifact/chat-artifact.js.map +1 -1
  11. package/dist/components/chat-artifact/chat-artifact.vue_vue_type_script_setup_true_lang.js +8 -2
  12. package/dist/components/chat-artifact/chat-artifact.vue_vue_type_script_setup_true_lang.js.map +1 -1
  13. package/dist/components/chat-attachments/chat-attachments.js.map +1 -1
  14. package/dist/components/chat-attachments/chat-attachments.vue_vue_type_script_setup_true_lang.js +11 -2
  15. package/dist/components/chat-attachments/chat-attachments.vue_vue_type_script_setup_true_lang.js.map +1 -1
  16. package/dist/components/chat-attachments/chat-attachments2.js.map +1 -1
  17. package/dist/components/chat-confirm/chat-confirm.js.map +1 -1
  18. package/dist/components/chat-confirm/chat-confirm.vue_vue_type_script_setup_true_lang.js +38 -14
  19. package/dist/components/chat-confirm/chat-confirm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  20. package/dist/components/chat-context-meter/chat-context-meter.vue_vue_type_script_setup_true_lang.js +2 -2
  21. package/dist/components/chat-context-meter/chat-context-meter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/components/chat-context-meter/chat-context-meter2.js.map +1 -1
  23. package/dist/components/chat-message/chat-message.js.map +1 -1
  24. package/dist/components/chat-message/chat-message.vue_vue_type_script_setup_true_lang.js +88 -33
  25. package/dist/components/chat-message/chat-message.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/components/chat-message/chat-message2.js.map +1 -1
  27. package/dist/components/chat-message/style.js +5 -0
  28. package/dist/components/chat-plan/chat-plan.js +9 -4
  29. package/dist/components/chat-plan/chat-plan.js.map +1 -1
  30. package/dist/components/chat-plan/chat-plan.vue_vue_type_script_setup_true_lang.js +64 -32
  31. package/dist/components/chat-plan/chat-plan.vue_vue_type_script_setup_true_lang.js.map +1 -1
  32. package/dist/components/chat-plan/chat-plan2.js +6 -0
  33. package/dist/components/chat-plan/chat-plan2.js.map +1 -0
  34. package/dist/components/chat-plan/index.js +1 -1
  35. package/dist/components/chat-plan/style.js +1 -0
  36. package/dist/components/chat-reasoning/chat-reasoning.js.map +1 -1
  37. package/dist/components/chat-reasoning/chat-reasoning.vue_vue_type_script_setup_true_lang.js +4 -4
  38. package/dist/components/chat-reasoning/chat-reasoning.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/components/chat-sources/chat-citation.js.map +1 -1
  40. package/dist/components/chat-sources/chat-citation.vue_vue_type_script_setup_true_lang.js +52 -14
  41. package/dist/components/chat-sources/chat-citation.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/chat-sources/chat-sources.js.map +1 -1
  43. package/dist/components/chat-sources/chat-sources.vue_vue_type_script_setup_true_lang.js +6 -4
  44. package/dist/components/chat-sources/chat-sources.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/chat-sources/chat-sources2.js.map +1 -1
  46. package/dist/components/chat-sources/index.js +1 -1
  47. package/dist/components/chat-steps/chat-steps.js +9 -4
  48. package/dist/components/chat-steps/chat-steps.js.map +1 -1
  49. package/dist/components/chat-steps/chat-steps.vue_vue_type_script_setup_true_lang.js +20 -13
  50. package/dist/components/chat-steps/chat-steps.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/chat-steps/chat-steps2.js +6 -0
  52. package/dist/components/chat-steps/chat-steps2.js.map +1 -0
  53. package/dist/components/chat-steps/index.js +1 -1
  54. package/dist/components/chat-steps/style.js +1 -0
  55. package/dist/components/chat-tool-call/chat-tool-call.js.map +1 -1
  56. package/dist/components/chat-tool-call/chat-tool-call.vue_vue_type_script_setup_true_lang.js +38 -12
  57. package/dist/components/chat-tool-call/chat-tool-call.vue_vue_type_script_setup_true_lang.js.map +1 -1
  58. package/dist/components/chat-tool-call/chat-tool-call2.js.map +1 -1
  59. package/dist/components/chat-tool-call/style.js +1 -0
  60. package/dist/components/code-block/code-block.js.map +1 -1
  61. package/dist/components/code-block/code-block.vue_vue_type_script_setup_true_lang.js +37 -5
  62. package/dist/components/code-block/code-block.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/collapse/collapse-item.js.map +1 -1
  64. package/dist/components/collapse/collapse-item.vue_vue_type_script_setup_true_lang.js +2 -2
  65. package/dist/components/collapse/collapse-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  66. package/dist/components/collapse/collapse-transition.js +3 -1
  67. package/dist/components/collapse/collapse-transition.js.map +1 -1
  68. package/dist/components/collapse/index.js +1 -2
  69. package/dist/components/collapse/index.js.map +1 -1
  70. package/dist/components/color-mode/color-mode-button.js.map +1 -1
  71. package/dist/components/color-mode/color-mode-button.vue_vue_type_script_setup_true_lang.js +2 -2
  72. package/dist/components/color-mode/color-mode-button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/color-mode/color-mode-select.js.map +1 -1
  74. package/dist/components/color-mode/color-mode-select.vue_vue_type_script_setup_true_lang.js +2 -2
  75. package/dist/components/color-mode/color-mode-select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  76. package/dist/components/color-mode/color-mode-switch.js.map +1 -1
  77. package/dist/components/color-mode/color-mode-switch.vue_vue_type_script_setup_true_lang.js +2 -2
  78. package/dist/components/color-mode/color-mode-switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  79. package/dist/components/color-panel/color-panel.js.map +1 -1
  80. package/dist/components/color-panel/color-panel.vue_vue_type_script_setup_true_lang.js +5 -5
  81. package/dist/components/color-panel/color-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  82. package/dist/components/color-picker/color-picker.js.map +1 -1
  83. package/dist/components/color-picker/color-picker.vue_vue_type_script_setup_true_lang.js +2 -2
  84. package/dist/components/color-picker/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/components/comment-thread/comment-thread.js.map +1 -1
  86. package/dist/components/comment-thread/comment-thread.vue_vue_type_script_setup_true_lang.js +15 -15
  87. package/dist/components/comment-thread/comment-thread.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/components/comment-thread/style.js +2 -0
  89. package/dist/components/context-menu/context-menu.js.map +1 -1
  90. package/dist/components/context-menu/context-menu.vue_vue_type_script_setup_true_lang.js +26 -11
  91. package/dist/components/context-menu/context-menu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/components/context-menu/index.js +2 -0
  93. package/dist/components/context-menu/index.js.map +1 -1
  94. package/dist/components/copy-button/copy-button.vue_vue_type_script_setup_true_lang.js +1 -1
  95. package/dist/components/descriptions/descriptions.js.map +1 -1
  96. package/dist/components/descriptions/descriptions.vue_vue_type_script_setup_true_lang.js +3 -1
  97. package/dist/components/descriptions/descriptions.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/components/descriptions/descriptions2.js.map +1 -1
  99. package/dist/components/dropdown/dropdown-button.js.map +1 -1
  100. package/dist/components/dropdown/dropdown-button.vue_vue_type_script_setup_true_lang.js +5 -5
  101. package/dist/components/dropdown/dropdown-button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/dropdown/dropdown-group.js +6 -0
  103. package/dist/components/dropdown/dropdown-group.js.map +1 -0
  104. package/dist/components/dropdown/dropdown-group.vue_vue_type_script_setup_true_lang.js +42 -0
  105. package/dist/components/dropdown/dropdown-group.vue_vue_type_script_setup_true_lang.js.map +1 -0
  106. package/dist/components/dropdown/dropdown-item.js.map +1 -1
  107. package/dist/components/dropdown/dropdown-item.vue_vue_type_script_setup_true_lang.js +31 -9
  108. package/dist/components/dropdown/dropdown-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  109. package/dist/components/dropdown/dropdown-items.js.map +1 -1
  110. package/dist/components/dropdown/dropdown-items.vue_vue_type_script_setup_true_lang.js +77 -52
  111. package/dist/components/dropdown/dropdown-items.vue_vue_type_script_setup_true_lang.js.map +1 -1
  112. package/dist/components/dropdown/dropdown-radio-group.js.map +1 -1
  113. package/dist/components/dropdown/dropdown-radio-group.vue_vue_type_script_setup_true_lang.js +23 -5
  114. package/dist/components/dropdown/dropdown-radio-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  115. package/dist/components/dropdown/dropdown-sub.js.map +1 -1
  116. package/dist/components/dropdown/dropdown-sub.vue_vue_type_script_setup_true_lang.js +5 -4
  117. package/dist/components/dropdown/dropdown-sub.vue_vue_type_script_setup_true_lang.js.map +1 -1
  118. package/dist/components/dropdown/dropdown.js.map +1 -1
  119. package/dist/components/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js +2 -1
  120. package/dist/components/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
  121. package/dist/components/dropdown/dropdown2.js.map +1 -1
  122. package/dist/components/dropdown/index.js +4 -5
  123. package/dist/components/dropdown/index.js.map +1 -1
  124. package/dist/components/dropdown/item-components.js +11 -0
  125. package/dist/components/dropdown/item-components.js.map +1 -0
  126. package/dist/components/dropdown/menu-entries.js +14 -0
  127. package/dist/components/dropdown/menu-entries.js.map +1 -0
  128. package/dist/components/dropdown/menu-keys.js +1 -1
  129. package/dist/components/dropdown/menu-keys.js.map +1 -1
  130. package/dist/components/ellipsis/ellipsis.js.map +1 -1
  131. package/dist/components/ellipsis/ellipsis.vue_vue_type_script_setup_true_lang.js +2 -2
  132. package/dist/components/ellipsis/ellipsis.vue_vue_type_script_setup_true_lang.js.map +1 -1
  133. package/dist/components/image-cropper/image-cropper.js.map +1 -1
  134. package/dist/components/image-cropper/image-cropper.vue_vue_type_script_setup_true_lang.js +10 -10
  135. package/dist/components/image-cropper/image-cropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  136. package/dist/components/infinite-scroll/infinite-scroll.js.map +1 -1
  137. package/dist/components/infinite-scroll/infinite-scroll.vue_vue_type_script_setup_true_lang.js +2 -2
  138. package/dist/components/infinite-scroll/infinite-scroll.vue_vue_type_script_setup_true_lang.js.map +1 -1
  139. package/dist/components/input-date/segment-field.js.map +1 -1
  140. package/dist/components/input-date/segment-field.vue_vue_type_script_setup_true_lang.js +2 -2
  141. package/dist/components/input-date/segment-field.vue_vue_type_script_setup_true_lang.js.map +1 -1
  142. package/dist/components/input-date/style.js +1 -0
  143. package/dist/components/input-time/style.js +1 -0
  144. package/dist/components/layout/layout-aside-trigger.js.map +1 -1
  145. package/dist/components/layout/layout-aside-trigger.vue_vue_type_script_setup_true_lang.js +2 -2
  146. package/dist/components/layout/layout-aside-trigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/components/layout/layout-aside.js.map +1 -1
  148. package/dist/components/layout/layout-aside.vue_vue_type_script_setup_true_lang.js +3 -3
  149. package/dist/components/layout/layout-aside.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/layout/layout-footer.js.map +1 -1
  151. package/dist/components/layout/layout-footer.vue_vue_type_script_setup_true_lang.js +5 -1
  152. package/dist/components/layout/layout-footer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/layout/layout.js.map +1 -1
  154. package/dist/components/markdown/index.js +9 -0
  155. package/dist/components/markdown/index.js.map +1 -0
  156. package/dist/components/markdown/markdown.js +6 -0
  157. package/dist/components/markdown/markdown.js.map +1 -0
  158. package/dist/components/markdown/markdown.vue_vue_type_script_setup_true_lang.js +225 -0
  159. package/dist/components/markdown/markdown.vue_vue_type_script_setup_true_lang.js.map +1 -0
  160. package/dist/components/markdown/parse-block.js +577 -0
  161. package/dist/components/markdown/parse-block.js.map +1 -0
  162. package/dist/components/markdown/parse-inline.js +626 -0
  163. package/dist/components/markdown/parse-inline.js.map +1 -0
  164. package/dist/components/markdown/parser.js +308 -0
  165. package/dist/components/markdown/parser.js.map +1 -0
  166. package/dist/components/markdown/render.js +424 -0
  167. package/dist/components/markdown/render.js.map +1 -0
  168. package/dist/components/markdown/style.d.ts +1 -0
  169. package/dist/components/markdown/style.js +10 -0
  170. package/dist/components/markdown/url.js +16 -0
  171. package/dist/components/markdown/url.js.map +1 -0
  172. package/dist/components/menu/menu-item.js.map +1 -1
  173. package/dist/components/menu/menu-item.vue_vue_type_script_setup_true_lang.js +3 -2
  174. package/dist/components/menu/menu-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  175. package/dist/components/menu/menu-list.js.map +1 -1
  176. package/dist/components/menu/menu-list.vue_vue_type_script_setup_true_lang.js +2 -2
  177. package/dist/components/menu/menu-list.vue_vue_type_script_setup_true_lang.js.map +1 -1
  178. package/dist/components/menu/menu-popup.js.map +1 -1
  179. package/dist/components/menu/menu-popup.vue_vue_type_script_setup_true_lang.js +33 -21
  180. package/dist/components/menu/menu-popup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  181. package/dist/components/menu/menu.js +16 -13
  182. package/dist/components/menu/menu.js.map +1 -1
  183. package/dist/components/menu/menu.vue_vue_type_script_setup_true_lang.js +4 -1
  184. package/dist/components/menu/menu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  185. package/dist/components/menu/menu2.js.map +1 -1
  186. package/dist/components/menubar/menubar.js.map +1 -1
  187. package/dist/components/node-graph/layout.js +136 -31
  188. package/dist/components/node-graph/layout.js.map +1 -1
  189. package/dist/components/node-graph/node-graph-legend.js.map +1 -1
  190. package/dist/components/node-graph/node-graph-legend.vue_vue_type_script_setup_true_lang.js +5 -5
  191. package/dist/components/node-graph/node-graph-legend.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/components/node-graph/node-graph.js.map +1 -1
  193. package/dist/components/node-graph/node-graph.vue_vue_type_script_setup_true_lang.js +3 -3
  194. package/dist/components/node-graph/node-graph.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/components/pagination/pagination-gap.js.map +1 -1
  196. package/dist/components/pagination/pagination-gap.vue_vue_type_script_setup_true_lang.js +2 -2
  197. package/dist/components/pagination/pagination-gap.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/components/pagination/pagination.js.map +1 -1
  199. package/dist/components/pagination/pagination.vue_vue_type_script_setup_true_lang.js +7 -7
  200. package/dist/components/pagination/pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  201. package/dist/components/popconfirm/index.js +2 -0
  202. package/dist/components/popconfirm/index.js.map +1 -1
  203. package/dist/components/popconfirm/popconfirm.js.map +1 -1
  204. package/dist/components/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +6 -2
  205. package/dist/components/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  206. package/dist/components/popover/index.js +2 -0
  207. package/dist/components/popover/index.js.map +1 -1
  208. package/dist/components/popover/popover.js.map +1 -1
  209. package/dist/components/popover/popover.vue_vue_type_script_setup_true_lang.js +12 -5
  210. package/dist/components/popover/popover.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/components/progress-group/progress-group.js.map +1 -1
  212. package/dist/components/progress-group/progress-group.vue_vue_type_script_setup_true_lang.js +11 -4
  213. package/dist/components/progress-group/progress-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/components/qrcode/qrcode.js.map +1 -1
  215. package/dist/components/qrcode/qrcode.vue_vue_type_script_setup_true_lang.js +10 -2
  216. package/dist/components/qrcode/qrcode.vue_vue_type_script_setup_true_lang.js.map +1 -1
  217. package/dist/components/select/select.js.map +1 -1
  218. package/dist/components/select/select.vue_vue_type_script_setup_true_lang.js +2 -2
  219. package/dist/components/select/select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/components/slider/slider.js.map +1 -1
  221. package/dist/components/slider/slider.vue_vue_type_script_setup_true_lang.js +2 -2
  222. package/dist/components/slider/slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/components/status-dot/index.js +7 -0
  224. package/dist/components/status-dot/index.js.map +1 -0
  225. package/dist/components/status-dot/status-dot.js +26 -0
  226. package/dist/components/status-dot/status-dot.js.map +1 -0
  227. package/dist/components/status-dot/status-dot.vue_vue_type_script_lang.js +43 -0
  228. package/dist/components/status-dot/status-dot.vue_vue_type_script_lang.js.map +1 -0
  229. package/dist/components/status-dot/status-dot2.js +6 -0
  230. package/dist/components/status-dot/status-dot2.js.map +1 -0
  231. package/dist/components/status-dot/style.d.ts +1 -0
  232. package/dist/components/status-dot/style.js +2 -0
  233. package/dist/components/steps/steps.js.map +1 -1
  234. package/dist/components/steps/steps.vue_vue_type_script_setup_true_lang.js +6 -6
  235. package/dist/components/steps/steps.vue_vue_type_script_setup_true_lang.js.map +1 -1
  236. package/dist/components/table/table.js.map +1 -1
  237. package/dist/components/table/table.vue_vue_type_script_setup_true_lang.js +19 -14
  238. package/dist/components/table/table.vue_vue_type_script_setup_true_lang.js.map +1 -1
  239. package/dist/components/tabs/tab-panel.vue_vue_type_script_setup_true_lang.js +1 -0
  240. package/dist/components/tabs/tab-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/components/tabs/tabs.js.map +1 -1
  242. package/dist/components/tabs/tabs.vue_vue_type_script_setup_true_lang.js +117 -47
  243. package/dist/components/tabs/tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/components/tabs/tabs2.js.map +1 -1
  245. package/dist/components/tag/tag.js.map +1 -1
  246. package/dist/components/tag/tag.vue_vue_type_script_setup_true_lang.js +21 -4
  247. package/dist/components/tag/tag.vue_vue_type_script_setup_true_lang.js.map +1 -1
  248. package/dist/components/timeline/style.js +1 -0
  249. package/dist/components/timeline/timeline-item.js.map +1 -1
  250. package/dist/components/timeline/timeline-item.vue_vue_type_script_setup_true_lang.js +6 -2
  251. package/dist/components/timeline/timeline-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
  252. package/dist/components/tooltip/index.js +2 -0
  253. package/dist/components/tooltip/index.js.map +1 -1
  254. package/dist/components/tooltip/tooltip.js.map +1 -1
  255. package/dist/components/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +55 -8
  256. package/dist/components/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  257. package/dist/components/tour/tour.js.map +1 -1
  258. package/dist/components/tour/tour.vue_vue_type_script_setup_true_lang.js +3 -3
  259. package/dist/components/tour/tour.vue_vue_type_script_setup_true_lang.js.map +1 -1
  260. package/dist/components/transfer/transfer-list.vue_vue_type_script_setup_true_lang.js +1 -1
  261. package/dist/components/tree/tree.vue_vue_type_script_setup_true_lang.js +1 -1
  262. package/dist/components/tree-select/tree-select.js.map +1 -1
  263. package/dist/components/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +3 -3
  264. package/dist/components/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  265. package/dist/components/upload/upload.vue_vue_type_script_setup_true_lang.js +2 -2
  266. package/dist/components/upload/upload.vue_vue_type_script_setup_true_lang.js.map +1 -1
  267. package/dist/components/upload/upload2.js.map +1 -1
  268. package/dist/components/user/user.js.map +1 -1
  269. package/dist/components/user/user.vue_vue_type_script_setup_true_lang.js +2 -2
  270. package/dist/components/user/user.vue_vue_type_script_setup_true_lang.js.map +1 -1
  271. package/dist/composables/use-popup.js +30 -5
  272. package/dist/composables/use-popup.js.map +1 -1
  273. package/dist/index.js +23 -17
  274. package/dist/index.js.map +1 -1
  275. package/dist/locale/en.js +13 -8
  276. package/dist/locale/en.js.map +1 -1
  277. package/dist/locale/zh-cn.js +13 -8
  278. package/dist/locale/zh-cn.js.map +1 -1
  279. package/dist/locale/zh-tw.js +13 -8
  280. package/dist/locale/zh-tw.js.map +1 -1
  281. package/dist/plugin.js +21 -14
  282. package/dist/plugin.js.map +1 -1
  283. package/dist/style.css +1 -1
  284. package/dist/types/components/button/button.d.ts +5 -1
  285. package/dist/types/components/calendar-view/calendar-view.d.ts +6 -0
  286. package/dist/types/components/calendar-view/calendar-view.vue.d.ts +1 -0
  287. package/dist/types/components/calendar-view/index.d.ts +3 -0
  288. package/dist/types/components/chat-artifact/chat-artifact.d.ts +2 -1
  289. package/dist/types/components/chat-attachments/chat-attachments.d.ts +2 -2
  290. package/dist/types/components/chat-confirm/chat-confirm.d.ts +7 -2
  291. package/dist/types/components/chat-list/index.d.ts +3 -3
  292. package/dist/types/components/chat-message/chat-message.d.ts +26 -3
  293. package/dist/types/components/chat-message/chat-message.vue.d.ts +4 -3
  294. package/dist/types/components/chat-message/index.d.ts +7 -4
  295. package/dist/types/components/chat-plan/chat-plan.d.ts +19 -2
  296. package/dist/types/components/chat-plan/chat-plan.vue.d.ts +2 -0
  297. package/dist/types/components/chat-plan/index.d.ts +6 -0
  298. package/dist/types/components/chat-sources/chat-sources.d.ts +6 -1
  299. package/dist/types/components/chat-steps/chat-steps.d.ts +10 -4
  300. package/dist/types/components/chat-steps/chat-steps.vue.d.ts +1 -1
  301. package/dist/types/components/chat-steps/index.d.ts +3 -3
  302. package/dist/types/components/chat-tool-call/chat-tool-call.d.ts +12 -3
  303. package/dist/types/components/chat-tool-call/chat-tool-call.vue.d.ts +1 -0
  304. package/dist/types/components/chat-tool-call/index.d.ts +3 -0
  305. package/dist/types/components/checkbox/index.d.ts +5 -5
  306. package/dist/types/components/code-block/code-block.d.ts +11 -0
  307. package/dist/types/components/code-block/code-block.vue.d.ts +3 -1
  308. package/dist/types/components/code-block/index.d.ts +9 -3
  309. package/dist/types/components/collapse/collapse-transition.d.ts +2 -7
  310. package/dist/types/components/collapse/collapse.vue.d.ts +1 -1
  311. package/dist/types/components/collapse/index.d.ts +5 -6
  312. package/dist/types/components/context-menu/context-menu.d.ts +37 -4
  313. package/dist/types/components/context-menu/context-menu.vue.d.ts +2 -0
  314. package/dist/types/components/context-menu/index.d.ts +5 -0
  315. package/dist/types/components/copy-button/copy-button.vue.d.ts +1 -1
  316. package/dist/types/components/copy-button/index.d.ts +1 -1
  317. package/dist/types/components/descriptions/descriptions.d.ts +9 -1
  318. package/dist/types/components/descriptions/descriptions.vue.d.ts +1 -0
  319. package/dist/types/components/descriptions/index.d.ts +3 -0
  320. package/dist/types/components/dropdown/dropdown-group.vue.d.ts +13 -0
  321. package/dist/types/components/dropdown/dropdown-items.vue.d.ts +2 -2
  322. package/dist/types/components/dropdown/dropdown-radio-group.vue.d.ts +8 -4
  323. package/dist/types/components/dropdown/dropdown.d.ts +28 -6
  324. package/dist/types/components/dropdown/dropdown.vue.d.ts +1 -1
  325. package/dist/types/components/dropdown/index.d.ts +10 -81
  326. package/dist/types/components/dropdown/item-components.d.ts +103 -0
  327. package/dist/types/components/dropdown/menu-entries.d.ts +4 -0
  328. package/dist/types/components/index.d.ts +2 -0
  329. package/dist/types/components/layout/index.d.ts +12 -6
  330. package/dist/types/components/layout/layout-aside.vue.d.ts +1 -1
  331. package/dist/types/components/layout/layout-footer.vue.d.ts +4 -2
  332. package/dist/types/components/layout/layout.d.ts +4 -0
  333. package/dist/types/components/markdown/index.d.ts +58 -0
  334. package/dist/types/components/markdown/markdown.d.ts +251 -0
  335. package/dist/types/components/markdown/markdown.vue.d.ts +22 -0
  336. package/dist/types/components/markdown/parse-block.d.ts +61 -0
  337. package/dist/types/components/markdown/parse-inline.d.ts +19 -0
  338. package/dist/types/components/markdown/parser.d.ts +22 -0
  339. package/dist/types/components/markdown/render.d.ts +84 -0
  340. package/dist/types/components/markdown/url.d.ts +10 -0
  341. package/dist/types/components/masonry/index.d.ts +3 -3
  342. package/dist/types/components/menu/index.d.ts +8 -3
  343. package/dist/types/components/menu/menu.d.ts +16 -5
  344. package/dist/types/components/menu/menu.vue.d.ts +3 -1
  345. package/dist/types/components/menubar/menubar.d.ts +1 -1
  346. package/dist/types/components/node-graph/layout.d.ts +16 -0
  347. package/dist/types/components/node-graph/node-graph.d.ts +1 -1
  348. package/dist/types/components/popover/index.d.ts +3 -3
  349. package/dist/types/components/popover/popover.vue.d.ts +1 -1
  350. package/dist/types/components/progress-group/index.d.ts +3 -0
  351. package/dist/types/components/progress-group/progress-group.d.ts +7 -0
  352. package/dist/types/components/progress-group/progress-group.vue.d.ts +1 -0
  353. package/dist/types/components/qrcode/index.d.ts +3 -0
  354. package/dist/types/components/qrcode/qrcode.d.ts +5 -0
  355. package/dist/types/components/qrcode/qrcode.vue.d.ts +1 -0
  356. package/dist/types/components/sortable/index.d.ts +3 -3
  357. package/dist/types/components/status-dot/index.d.ts +51 -0
  358. package/dist/types/components/status-dot/status-dot.d.ts +46 -0
  359. package/dist/types/components/status-dot/status-dot.vue.d.ts +46 -0
  360. package/dist/types/components/steps/steps.d.ts +1 -1
  361. package/dist/types/components/switch/index.d.ts +3 -3
  362. package/dist/types/components/table/index.d.ts +4 -3
  363. package/dist/types/components/table/table.d.ts +6 -1
  364. package/dist/types/components/tabs/index.d.ts +3 -0
  365. package/dist/types/components/tabs/tabs.d.ts +16 -3
  366. package/dist/types/components/tabs/tabs.vue.d.ts +1 -0
  367. package/dist/types/components/timeline/index.d.ts +3 -3
  368. package/dist/types/components/timeline/timeline-item.vue.d.ts +1 -1
  369. package/dist/types/components/virtual-list/index.d.ts +3 -3
  370. package/dist/types/composables/use-popup.d.ts +15 -5
  371. package/dist/types/locale/types.d.ts +18 -7
  372. package/dist/types/utils/only-child.d.ts +3 -1
  373. package/dist/types/utils/pointer.d.ts +5 -0
  374. package/dist/types/utils/safe-url.d.ts +14 -0
  375. package/dist/types/utils/status-check.d.ts +8 -0
  376. package/dist/utils/install.js +5 -0
  377. package/dist/utils/install.js.map +1 -1
  378. package/dist/utils/only-child.js +56 -5
  379. package/dist/utils/only-child.js.map +1 -1
  380. package/dist/utils/pointer.js +6 -1
  381. package/dist/utils/pointer.js.map +1 -1
  382. package/dist/utils/safe-url.js +57 -0
  383. package/dist/utils/safe-url.js.map +1 -0
  384. package/dist/utils/status-check.js +27 -0
  385. package/dist/utils/status-check.js.map +1 -0
  386. package/package.json +3 -3
@@ -0,0 +1,103 @@
1
+ export declare const DouDropdownItem: import("../..").WithInstall<{
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./dropdown").DropdownItemProps> & Readonly<{
3
+ onClick?: ((event: MouseEvent) => any) | undefined;
4
+ "onUpdate:checked"?: ((checked: boolean) => any) | undefined;
5
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ click: (event: MouseEvent) => any;
7
+ "update:checked": (checked: boolean) => any;
8
+ }, import("vue").PublicProps, {
9
+ tone: import("./dropdown").DropdownItemTone;
10
+ disabled: boolean;
11
+ checked: boolean;
12
+ divided: boolean;
13
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
14
+ P: {};
15
+ B: {};
16
+ D: {};
17
+ C: {};
18
+ M: {};
19
+ Defaults: {};
20
+ }, Readonly<import("./dropdown").DropdownItemProps> & Readonly<{
21
+ onClick?: ((event: MouseEvent) => any) | undefined;
22
+ "onUpdate:checked"?: ((checked: boolean) => any) | undefined;
23
+ }>, {}, {}, {}, {}, {
24
+ tone: import("./dropdown").DropdownItemTone;
25
+ disabled: boolean;
26
+ checked: boolean;
27
+ divided: boolean;
28
+ }>;
29
+ __isFragment?: never;
30
+ __isTeleport?: never;
31
+ __isSuspense?: never;
32
+ } & import("vue").ComponentOptionsBase<Readonly<import("./dropdown").DropdownItemProps> & Readonly<{
33
+ onClick?: ((event: MouseEvent) => any) | undefined;
34
+ "onUpdate:checked"?: ((checked: boolean) => any) | undefined;
35
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
+ click: (event: MouseEvent) => any;
37
+ "update:checked": (checked: boolean) => any;
38
+ }, string, {
39
+ tone: import("./dropdown").DropdownItemTone;
40
+ disabled: boolean;
41
+ checked: boolean;
42
+ divided: boolean;
43
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
44
+ $slots: import("./dropdown").DropdownItemSlots;
45
+ }), import("vue").HTMLAttributes>;
46
+ export declare const DouDropdownGroup: import("../..").WithInstall<{
47
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./dropdown").DropdownGroupProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
48
+ divided: boolean;
49
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
50
+ P: {};
51
+ B: {};
52
+ D: {};
53
+ C: {};
54
+ M: {};
55
+ Defaults: {};
56
+ }, Readonly<import("./dropdown").DropdownGroupProps> & Readonly<{}>, {}, {}, {}, {}, {
57
+ divided: boolean;
58
+ }>;
59
+ __isFragment?: never;
60
+ __isTeleport?: never;
61
+ __isSuspense?: never;
62
+ } & import("vue").ComponentOptionsBase<Readonly<import("./dropdown").DropdownGroupProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
63
+ divided: boolean;
64
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
65
+ $slots: import("./dropdown").DropdownGroupSlots;
66
+ }), import("vue").HTMLAttributes>;
67
+ export declare const DouDropdownRadioGroup: import("../..").WithInstall<{
68
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./dropdown").DropdownGroupProps & {
69
+ modelValue?: import("./dropdown").DropdownValue;
70
+ }> & Readonly<{
71
+ "onUpdate:modelValue"?: ((value: import("./dropdown").DropdownValue | undefined) => any) | undefined;
72
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
73
+ "update:modelValue": (value: import("./dropdown").DropdownValue | undefined) => any;
74
+ }, import("vue").PublicProps, {
75
+ divided: boolean;
76
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
77
+ P: {};
78
+ B: {};
79
+ D: {};
80
+ C: {};
81
+ M: {};
82
+ Defaults: {};
83
+ }, Readonly<import("./dropdown").DropdownGroupProps & {
84
+ modelValue?: import("./dropdown").DropdownValue;
85
+ }> & Readonly<{
86
+ "onUpdate:modelValue"?: ((value: import("./dropdown").DropdownValue | undefined) => any) | undefined;
87
+ }>, {}, {}, {}, {}, {
88
+ divided: boolean;
89
+ }>;
90
+ __isFragment?: never;
91
+ __isTeleport?: never;
92
+ __isSuspense?: never;
93
+ } & import("vue").ComponentOptionsBase<Readonly<import("./dropdown").DropdownGroupProps & {
94
+ modelValue?: import("./dropdown").DropdownValue;
95
+ }> & Readonly<{
96
+ "onUpdate:modelValue"?: ((value: import("./dropdown").DropdownValue | undefined) => any) | undefined;
97
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
98
+ "update:modelValue": (value: import("./dropdown").DropdownValue | undefined) => any;
99
+ }, string, {
100
+ divided: boolean;
101
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
102
+ $slots: import("./dropdown").DropdownRadioGroupSlots;
103
+ }), import("vue").HTMLAttributes>;
@@ -0,0 +1,4 @@
1
+ import type { ContextMenuEntry, ContextMenuGroup, ContextMenuItem } from '../context-menu/context-menu';
2
+ export declare const isMenuGroup: (entry: ContextMenuEntry) => entry is ContextMenuGroup;
3
+ /** The item with `key`, in a group or not. */
4
+ export declare function findMenuItem(entries: ContextMenuEntry[] | undefined, key: unknown): ContextMenuItem | undefined;
@@ -71,6 +71,7 @@ export * from './layout';
71
71
  export * from './link';
72
72
  export * from './listbox';
73
73
  export * from './loading';
74
+ export * from './markdown';
74
75
  export * from './marquee';
75
76
  export * from './masonry';
76
77
  export * from './menu';
@@ -97,6 +98,7 @@ export * from './sparkline';
97
98
  export * from './spinner';
98
99
  export * from './splitter';
99
100
  export * from './statistic';
101
+ export * from './status-dot';
100
102
  export * from './steps';
101
103
  export * from './stream-text';
102
104
  export * from './switch';
@@ -57,8 +57,8 @@ export declare const DouLayoutAside: import("../..").WithInstall<{
57
57
  sticky: boolean;
58
58
  width: string | number;
59
59
  bordered: boolean;
60
- collapsedWidth: string | number;
61
60
  collapsible: boolean;
61
+ collapsedWidth: string | number;
62
62
  side: "right" | "left";
63
63
  }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
64
64
  P: {};
@@ -77,8 +77,8 @@ export declare const DouLayoutAside: import("../..").WithInstall<{
77
77
  sticky: boolean;
78
78
  width: string | number;
79
79
  bordered: boolean;
80
- collapsedWidth: string | number;
81
80
  collapsible: boolean;
81
+ collapsedWidth: string | number;
82
82
  side: "right" | "left";
83
83
  }>;
84
84
  __isFragment?: never;
@@ -97,8 +97,8 @@ export declare const DouLayoutAside: import("../..").WithInstall<{
97
97
  sticky: boolean;
98
98
  width: string | number;
99
99
  bordered: boolean;
100
- collapsedWidth: string | number;
101
100
  collapsible: boolean;
101
+ collapsedWidth: string | number;
102
102
  side: "right" | "left";
103
103
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
104
104
  $slots: import("./layout").LayoutAsideSlots;
@@ -120,18 +120,24 @@ export declare const DouLayoutMain: import("../..").WithInstall<{
120
120
  $slots: import("./layout").LayoutSectionSlots;
121
121
  }), import("vue").HTMLAttributes>;
122
122
  export declare const DouLayoutFooter: import("../..").WithInstall<{
123
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
123
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./layout").LayoutFooterProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
124
+ bordered: boolean;
125
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
124
126
  P: {};
125
127
  B: {};
126
128
  D: {};
127
129
  C: {};
128
130
  M: {};
129
131
  Defaults: {};
130
- }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
132
+ }, Readonly<import("./layout").LayoutFooterProps> & Readonly<{}>, {}, {}, {}, {}, {
133
+ bordered: boolean;
134
+ }>;
131
135
  __isFragment?: never;
132
136
  __isTeleport?: never;
133
137
  __isSuspense?: never;
134
- } & import("vue").ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
138
+ } & import("vue").ComponentOptionsBase<Readonly<import("./layout").LayoutFooterProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
139
+ bordered: boolean;
140
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
135
141
  $slots: import("./layout").LayoutSectionSlots;
136
142
  }), import("vue").HTMLAttributes>;
137
143
  export default DouLayout;
@@ -16,8 +16,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
16
16
  sticky: boolean;
17
17
  width: string | number;
18
18
  bordered: boolean;
19
- collapsedWidth: string | number;
20
19
  collapsible: boolean;
20
+ collapsedWidth: string | number;
21
21
  side: "right" | "left";
22
22
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,6 +1,8 @@
1
- import type { LayoutSectionSlots } from './layout';
1
+ import type { LayoutFooterProps, LayoutSectionSlots } from './layout';
2
2
  type __VLS_Slots = LayoutSectionSlots;
3
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
3
+ declare const __VLS_base: import("vue").DefineComponent<LayoutFooterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LayoutFooterProps> & Readonly<{}>, {
4
+ bordered: boolean;
5
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4
6
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
5
7
  declare const _default: typeof __VLS_export;
6
8
  export default _default;
@@ -13,6 +13,10 @@ export interface LayoutHeaderProps {
13
13
  /** A hairline under the header. */
14
14
  bordered?: boolean;
15
15
  }
16
+ export interface LayoutFooterProps {
17
+ /** A hairline above the footer. */
18
+ bordered?: boolean;
19
+ }
16
20
  export interface LayoutAsideProps {
17
21
  /** The width when expanded. Numbers are px. */
18
22
  width?: number | string;
@@ -0,0 +1,58 @@
1
+ import Markdown from './markdown.vue';
2
+ export declare const DouMarkdown: import("../..").WithInstall<{
3
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./markdown").MarkdownProps> & Readonly<{
4
+ onDone?: (() => any) | undefined;
5
+ }>, import("./markdown").MarkdownExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ done: () => any;
7
+ }, import("vue").PublicProps, {
8
+ content: string;
9
+ smooth: boolean;
10
+ caret: boolean;
11
+ streaming: boolean;
12
+ speed: number;
13
+ linkTarget: import("./markdown").MarkdownLinkTarget;
14
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
15
+ P: {};
16
+ B: {};
17
+ D: {};
18
+ C: {};
19
+ M: {};
20
+ Defaults: {};
21
+ }, Readonly<import("./markdown").MarkdownProps> & Readonly<{
22
+ onDone?: (() => any) | undefined;
23
+ }>, import("./markdown").MarkdownExpose, {}, {}, {}, {
24
+ content: string;
25
+ smooth: boolean;
26
+ caret: boolean;
27
+ streaming: boolean;
28
+ speed: number;
29
+ linkTarget: import("./markdown").MarkdownLinkTarget;
30
+ }>;
31
+ __isFragment?: never;
32
+ __isTeleport?: never;
33
+ __isSuspense?: never;
34
+ } & import("vue").ComponentOptionsBase<Readonly<import("./markdown").MarkdownProps> & Readonly<{
35
+ onDone?: (() => any) | undefined;
36
+ }>, import("./markdown").MarkdownExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
+ done: () => any;
38
+ }, string, {
39
+ content: string;
40
+ smooth: boolean;
41
+ caret: boolean;
42
+ streaming: boolean;
43
+ speed: number;
44
+ linkTarget: import("./markdown").MarkdownLinkTarget;
45
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
46
+ $slots: import("./markdown").MarkdownSlots;
47
+ }), import("vue").HTMLAttributes>;
48
+ export default DouMarkdown;
49
+ export type * from './markdown';
50
+ export { createMarkdownParser, parseMarkdown } from './parser';
51
+ export type { MarkdownParser } from './parser';
52
+ export { defaultSanitizeUrl } from './url';
53
+ export type MarkdownInstance = InstanceType<typeof Markdown>;
54
+ declare module 'vue' {
55
+ interface GlobalComponents {
56
+ DouMarkdown: typeof DouMarkdown;
57
+ }
58
+ }
@@ -0,0 +1,251 @@
1
+ import type { VNode } from 'vue';
2
+ import type { ChatSource } from '../chat-sources/chat-sources';
3
+ /** Column alignment of a table, from its delimiter row. */
4
+ export type MarkdownAlign = 'left' | 'center' | 'right' | '';
5
+ /** Inline content: what a paragraph, heading or table cell is made of. */
6
+ export type MarkdownInline =
7
+ /** `at` is where the text starts in the source, which the reveal animation goes by. */
8
+ {
9
+ type: 'text';
10
+ value: string;
11
+ at: number;
12
+ } | {
13
+ type: 'strong' | 'em' | 'del';
14
+ children: MarkdownInline[];
15
+ } | {
16
+ type: 'code';
17
+ value: string;
18
+ at: number;
19
+ }
20
+ /** `href` is missing while the address is still being written. */
21
+ | {
22
+ type: 'link';
23
+ href?: string;
24
+ title?: string;
25
+ children: MarkdownInline[];
26
+ } | {
27
+ type: 'image';
28
+ src: string;
29
+ alt: string;
30
+ title?: string;
31
+ }
32
+ /** A hard line break. */
33
+ | {
34
+ type: 'break';
35
+ }
36
+ /** A line break inside a paragraph; `cjk` when both sides are CJK, so no space shows. */
37
+ | {
38
+ type: 'softbreak';
39
+ cjk?: boolean;
40
+ };
41
+ interface Span {
42
+ /** Where the block starts in the source, in UTF-16 units. Also its key. */
43
+ start: number;
44
+ /** Where it ends. */
45
+ end: number;
46
+ }
47
+ export interface MarkdownParagraph extends Span {
48
+ type: 'paragraph';
49
+ children: MarkdownInline[];
50
+ }
51
+ export interface MarkdownHeading extends Span {
52
+ type: 'heading';
53
+ level: 1 | 2 | 3 | 4 | 5 | 6;
54
+ children: MarkdownInline[];
55
+ }
56
+ export interface MarkdownCode extends Span {
57
+ type: 'code';
58
+ /** The first word of the info string, e.g. `ts`. */
59
+ lang: string;
60
+ value: string;
61
+ /** The closing fence has arrived (always true for indented code). */
62
+ closed: boolean;
63
+ }
64
+ export interface MarkdownHr extends Span {
65
+ type: 'hr';
66
+ }
67
+ export interface MarkdownBlockquote extends Span {
68
+ type: 'blockquote';
69
+ children: MarkdownBlock[];
70
+ }
71
+ /** A custom block: `:::name title`, its content, then `:::`. */
72
+ export interface MarkdownContainer extends Span {
73
+ type: 'container';
74
+ /** The word after the colons, e.g. `tip`. */
75
+ name: string;
76
+ /** The rest of the opening line, trimmed. */
77
+ title: string;
78
+ /** The closing fence has arrived. */
79
+ closed: boolean;
80
+ children: MarkdownBlock[];
81
+ }
82
+ export interface MarkdownItem extends Span {
83
+ type: 'item';
84
+ /** `true` / `false` for a task item, `null` otherwise. */
85
+ checked: boolean | null;
86
+ /** Copied from the list: a tight list shows its paragraphs without spacing. */
87
+ tight: boolean;
88
+ children: MarkdownBlock[];
89
+ }
90
+ export interface MarkdownList extends Span {
91
+ type: 'list';
92
+ ordered: boolean;
93
+ /** The number of the first item of an ordered list. */
94
+ startNumber: number;
95
+ tight: boolean;
96
+ children: MarkdownItem[];
97
+ }
98
+ export interface MarkdownRow extends Span {
99
+ type: 'row';
100
+ cells: MarkdownInline[][];
101
+ }
102
+ export interface MarkdownTable extends Span {
103
+ type: 'table';
104
+ align: MarkdownAlign[];
105
+ head: MarkdownRow;
106
+ rows: MarkdownRow[];
107
+ }
108
+ export type MarkdownBlock = MarkdownParagraph | MarkdownHeading | MarkdownCode | MarkdownHr | MarkdownBlockquote | MarkdownContainer | MarkdownList | MarkdownTable;
109
+ /** Kinds of address `sanitizeUrl` is asked about. */
110
+ export type MarkdownUrlKind = 'link' | 'image' | 'source';
111
+ /** Where links open; any other string names a window or frame. */
112
+ export type MarkdownLinkTarget = '_blank' | '_self' | '_parent' | '_top' | (string & {});
113
+ export interface MarkdownProps {
114
+ /** The Markdown source. While streaming, everything received so far. */
115
+ content?: string;
116
+ /** More is still coming: unfinished syntax at the end is shown in its likely final form. */
117
+ streaming?: boolean;
118
+ /**
119
+ * Reveal new content gradually and fade it in. Turned off, it shows as it
120
+ * arrives, still at most once a frame. Content that is already there when
121
+ * the component mounts is shown at once either way.
122
+ */
123
+ smooth?: boolean;
124
+ /** The slowest reveal, in characters per second. A larger backlog is caught up faster. */
125
+ speed?: number;
126
+ /** Show a blinking caret after the last character while streaming. */
127
+ caret?: boolean;
128
+ /** Sources for citations: `[1]` in the text shows as a ChatCitation for the first one. */
129
+ sources?: ChatSource[];
130
+ /**
131
+ * Where links with a full address (`https://…`, `//…`) open. Relative
132
+ * addresses and anchors always open in place.
133
+ */
134
+ linkTarget?: MarkdownLinkTarget;
135
+ /**
136
+ * Checks the address of a link, image or citation source and returns the
137
+ * one to use, or `undefined` to drop it (a link keeps its text, a source
138
+ * its title). By default only http(s), mailto, tel, relative addresses and
139
+ * anchors are kept: see `defaultSanitizeUrl`.
140
+ */
141
+ sanitizeUrl?: (url: string, kind: MarkdownUrlKind) => string | undefined;
142
+ }
143
+ export interface MarkdownEmits {
144
+ /** Everything is shown and `streaming` is off. */
145
+ done: [];
146
+ }
147
+ /**
148
+ * Every slot replaces one kind of node. `children` is what would be drawn
149
+ * inside it, new text still fading in; draw it with
150
+ * `<component :is="children" />`.
151
+ */
152
+ export interface MarkdownSlots {
153
+ paragraph?: (props: {
154
+ node: MarkdownParagraph;
155
+ children: VNode;
156
+ }) => unknown;
157
+ heading?: (props: {
158
+ node: MarkdownHeading;
159
+ level: number;
160
+ children: VNode;
161
+ }) => unknown;
162
+ blockquote?: (props: {
163
+ node: MarkdownBlockquote;
164
+ children: VNode;
165
+ }) => unknown;
166
+ list?: (props: {
167
+ node: MarkdownList;
168
+ children: VNode;
169
+ }) => unknown;
170
+ /** A list item; `children` leaves out the task checkbox. */
171
+ item?: (props: {
172
+ node: MarkdownItem;
173
+ checked: boolean | null;
174
+ children: VNode;
175
+ }) => unknown;
176
+ /** A table; `children` is the default `<table>`, e.g. to wrap it. */
177
+ table?: (props: {
178
+ node: MarkdownTable;
179
+ children: VNode;
180
+ }) => unknown;
181
+ hr?: (props: {
182
+ node: MarkdownHr;
183
+ }) => unknown;
184
+ /**
185
+ * A fenced code block. `streaming` is on while its closing fence has not
186
+ * arrived; hand it to CodeBlock so that only whole lines are highlighted.
187
+ */
188
+ code?: (props: MarkdownCodeSlotProps) => unknown;
189
+ /** A code block in one language, e.g. `code-mermaid`; before `code`. */
190
+ [name: `code-${string}`]: ((props: MarkdownCodeSlotProps) => unknown) | undefined;
191
+ /** A `:::name` block. Without a slot, `tip`, `info`, `note`, `warning` and `danger` show as an Alert. */
192
+ container?: (props: MarkdownContainerSlotProps) => unknown;
193
+ /** A container of one name, e.g. `container-tip`; before `container`. */
194
+ [name: `container-${string}`]: ((props: MarkdownContainerSlotProps) => unknown) | undefined;
195
+ /**
196
+ * A link. `href` has passed `sanitizeUrl`, and is missing while the
197
+ * address is still being written or was dropped. `external` for a full
198
+ * address, which opens at `linkTarget`.
199
+ */
200
+ link?: (props: {
201
+ node: Extract<MarkdownInline, {
202
+ type: 'link';
203
+ }>;
204
+ href: string | undefined;
205
+ title: string | undefined;
206
+ external: boolean;
207
+ children: VNode;
208
+ }) => unknown;
209
+ /** An image whose address has passed `sanitizeUrl`. */
210
+ image?: (props: {
211
+ src: string;
212
+ alt: string;
213
+ title?: string;
214
+ }) => unknown;
215
+ /** A citation such as `[1]`, with the source from `sources` (its `url` checked). */
216
+ citation?: (props: {
217
+ index: number;
218
+ source: ChatSource;
219
+ }) => unknown;
220
+ 'inline-code'?: (props: {
221
+ code: string;
222
+ }) => unknown;
223
+ strong?: (props: {
224
+ children: VNode;
225
+ }) => unknown;
226
+ em?: (props: {
227
+ children: VNode;
228
+ }) => unknown;
229
+ del?: (props: {
230
+ children: VNode;
231
+ }) => unknown;
232
+ }
233
+ export interface MarkdownCodeSlotProps {
234
+ node: MarkdownCode;
235
+ code: string;
236
+ lang: string;
237
+ streaming: boolean;
238
+ }
239
+ export interface MarkdownContainerSlotProps {
240
+ node: MarkdownContainer;
241
+ name: string;
242
+ title: string;
243
+ /** Its closing fence has not arrived yet. */
244
+ streaming: boolean;
245
+ children: VNode;
246
+ }
247
+ export interface MarkdownExpose {
248
+ /** Show everything received so far at once. */
249
+ flush: () => void;
250
+ }
251
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { MarkdownExpose, MarkdownProps, MarkdownSlots } from './markdown';
2
+ type __VLS_Slots = MarkdownSlots;
3
+ declare const __VLS_base: import("vue").DefineComponent<MarkdownProps, MarkdownExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
+ done: () => any;
5
+ }, string, import("vue").PublicProps, Readonly<MarkdownProps> & Readonly<{
6
+ onDone?: (() => any) | undefined;
7
+ }>, {
8
+ content: string;
9
+ smooth: boolean;
10
+ caret: boolean;
11
+ streaming: boolean;
12
+ speed: number;
13
+ linkTarget: import("./markdown").MarkdownLinkTarget;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
18
+ type __VLS_WithSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,61 @@
1
+ import type { MarkdownAlign } from './markdown';
2
+ import { type MarkdownRefs } from './parse-inline';
3
+ export type BlockKind = 'document' | 'blockquote' | 'container' | 'list' | 'item' | 'paragraph' | 'heading' | 'code' | 'hr' | 'table';
4
+ /** A source line of a leaf: its text and where that text starts in the source. */
5
+ export interface SourceLine {
6
+ text: string;
7
+ at: number;
8
+ /** Where the whole line starts. */
9
+ line: number;
10
+ }
11
+ export interface BNode {
12
+ kind: BlockKind;
13
+ parent: BNode | null;
14
+ children: BNode[];
15
+ open: boolean;
16
+ start: number;
17
+ end: number;
18
+ startLine: number;
19
+ endLine: number;
20
+ lines: SourceLine[];
21
+ level: number;
22
+ fence: {
23
+ ch: string;
24
+ len: number;
25
+ indent: number;
26
+ } | null;
27
+ info: string;
28
+ closed: boolean;
29
+ ordered: boolean;
30
+ marker: string;
31
+ startNumber: number;
32
+ offset: number;
33
+ padding: number;
34
+ align: MarkdownAlign[];
35
+ }
36
+ /** Cells of a table row, with where each starts in `text`. */
37
+ export declare function splitRow(text: string): {
38
+ text: string;
39
+ index: number;
40
+ }[];
41
+ export interface BlockParseResult {
42
+ /** The top-level blocks. */
43
+ blocks: BNode[];
44
+ /** How many leading blocks can no longer change. */
45
+ stable: number;
46
+ /** Where to start the next parse, when `stable` blocks are kept. */
47
+ resume: number;
48
+ /** Link reference definitions found. */
49
+ refs: MarkdownRefs;
50
+ /** Labels defined inside the stable blocks. */
51
+ stableLabels: string[];
52
+ /** The leaf still being written, which shows unfinished syntax in its likely final form. */
53
+ tip: BNode | null;
54
+ /** Whether the last line ends in a newline. */
55
+ complete: boolean;
56
+ }
57
+ /**
58
+ * Parse the block structure of `source` from offset `from` (a point where
59
+ * nothing is open). With `partial`, the source is the start of a stream.
60
+ */
61
+ export declare function parseBlocks(source: string, from?: number, partial?: boolean): BlockParseResult;
@@ -0,0 +1,19 @@
1
+ import type { MarkdownInline } from './markdown';
2
+ /** Link reference definitions, keyed by normalized label. */
3
+ export type MarkdownRefs = Map<string, {
4
+ href: string;
5
+ title?: string;
6
+ }>;
7
+ export declare function isCjk(char: string | undefined): boolean;
8
+ /** Backslash escapes and entities, as in link destinations and titles. */
9
+ export declare function unescapeMarkdown(text: string): string;
10
+ export declare function normalizeLabel(label: string): string;
11
+ /**
12
+ * Parse inline Markdown.
13
+ *
14
+ * `at` maps an index in `text` to its offset in the whole source. With
15
+ * `partial`, `text` is the end of a stream: unfinished syntax at the end is
16
+ * shown in its likely final form, and markers that may still turn into
17
+ * something are hidden.
18
+ */
19
+ export declare function parseInline(text: string, at: (index: number) => number, refs: MarkdownRefs, partial?: boolean): MarkdownInline[];
@@ -0,0 +1,22 @@
1
+ import type { MarkdownBlock } from './markdown';
2
+ export interface MarkdownParseOptions {
3
+ /** The stream is over: unfinished syntax at the end is read as it stands. */
4
+ final?: boolean;
5
+ }
6
+ export interface MarkdownParser {
7
+ /**
8
+ * Parse `source`, a longer version of the last one while streaming.
9
+ * Blocks that cannot change any more are not parsed again, and every
10
+ * block that is unchanged since the last update is the same object.
11
+ * Pass `{ final: true }` once the stream is over.
12
+ */
13
+ update: (source: string, options?: MarkdownParseOptions) => MarkdownBlock[];
14
+ /** How many leading blocks of the last update can no longer change. */
15
+ readonly stable: number;
16
+ /** Forget everything parsed so far. */
17
+ reset: () => void;
18
+ }
19
+ /** An incremental parser for a Markdown stream. */
20
+ export declare function createMarkdownParser(): MarkdownParser;
21
+ /** Parse a whole Markdown document. Works anywhere, without a DOM. */
22
+ export declare function parseMarkdown(source: string): MarkdownBlock[];