@easyv/biz-components 0.0.3 → 0.0.5

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 (134) hide show
  1. package/dist/_virtual/index.es2.js +2 -2
  2. package/dist/_virtual/index.es3.js +2 -2
  3. package/dist/_virtual/index.es4.js +2 -2
  4. package/dist/components/AiMessageRender/AiMessageRender.d.ts +5 -0
  5. package/dist/components/AiMessageRender/AiMessageRender.es.js +42 -37
  6. package/dist/components/AiMessageRender/AiMessageRender.es.js.map +1 -1
  7. package/dist/components/AiMessageRender/index.less.es.js +197 -0
  8. package/dist/components/AiMessageRender/index.less.es.js.map +1 -0
  9. package/dist/components/ShadowDom/ShadowDom.d.ts +2 -0
  10. package/dist/components/ShadowDom/ShadowDom.es.js +16 -14
  11. package/dist/components/ShadowDom/ShadowDom.es.js.map +1 -1
  12. package/dist/node_modules/.pnpm/@easyv_react-icons@6.3.0/node_modules/@easyv/react-icons/dist/index.esm.es.js +64 -89
  13. package/dist/node_modules/.pnpm/@easyv_react-icons@6.3.0/node_modules/@easyv/react-icons/dist/index.esm.es.js.map +1 -1
  14. package/dist/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.es.js +13 -0
  15. package/dist/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.es.js.map +1 -0
  16. package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
  17. package/dist/node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.es.js +9 -0
  18. package/dist/node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.es.js.map +1 -0
  19. package/dist/node_modules/.pnpm/longest-streak@3.1.0/node_modules/longest-streak/index.es.js +13 -0
  20. package/dist/node_modules/.pnpm/longest-streak@3.1.0/node_modules/longest-streak/index.es.js.map +1 -0
  21. package/dist/node_modules/.pnpm/markdown-table@3.0.4/node_modules/markdown-table/index.es.js +76 -0
  22. package/dist/node_modules/.pnpm/markdown-table@3.0.4/node_modules/markdown-table/index.es.js.map +1 -0
  23. package/dist/node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.es.js +71 -0
  24. package/dist/node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.es.js.map +1 -0
  25. package/dist/node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.es.js +131 -0
  26. package/dist/node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.es.js.map +1 -0
  27. package/dist/node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.es.js +96 -0
  28. package/dist/node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.es.js.map +1 -0
  29. package/dist/node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.es.js +51 -0
  30. package/dist/node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.es.js.map +1 -0
  31. package/dist/node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.es.js +136 -0
  32. package/dist/node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.es.js.map +1 -0
  33. package/dist/node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.es.js +59 -0
  34. package/dist/node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.es.js.map +1 -0
  35. package/dist/node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.es.js +30 -0
  36. package/dist/node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.es.js.map +1 -0
  37. package/dist/node_modules/.pnpm/mdast-util-phrasing@4.1.0/node_modules/mdast-util-phrasing/lib/index.es.js +31 -0
  38. package/dist/node_modules/.pnpm/mdast-util-phrasing@4.1.0/node_modules/mdast-util-phrasing/lib/index.es.js.map +1 -0
  39. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.es.js +16 -0
  40. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.es.js.map +1 -0
  41. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.es.js +14 -0
  42. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.es.js.map +1 -0
  43. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.es.js +45 -0
  44. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.es.js.map +1 -0
  45. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.es.js +35 -0
  46. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.es.js.map +1 -0
  47. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.es.js +34 -0
  48. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.es.js.map +1 -0
  49. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.es.js +35 -0
  50. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.es.js.map +1 -0
  51. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.es.js +11 -0
  52. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.es.js.map +1 -0
  53. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.es.js +28 -0
  54. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.es.js.map +1 -0
  55. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.es.js +34 -0
  56. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.es.js.map +1 -0
  57. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.es.js +45 -0
  58. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.es.js.map +1 -0
  59. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.es.js +23 -0
  60. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.es.js.map +1 -0
  61. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.es.js +28 -0
  62. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.es.js.map +1 -0
  63. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.es.js +51 -0
  64. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.es.js.map +1 -0
  65. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.es.js +23 -0
  66. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.es.js.map +1 -0
  67. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.es.js +36 -0
  68. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.es.js.map +1 -0
  69. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.es.js +8 -0
  70. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.es.js.map +1 -0
  71. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.es.js +10 -0
  72. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.es.js.map +1 -0
  73. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.es.js +34 -0
  74. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.es.js.map +1 -0
  75. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.es.js +7 -0
  76. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.es.js.map +1 -0
  77. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.es.js +10 -0
  78. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.es.js.map +1 -0
  79. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.es.js +12 -0
  80. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.es.js.map +1 -0
  81. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.es.js +19 -0
  82. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.es.js.map +1 -0
  83. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet.es.js +12 -0
  84. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet.es.js.map +1 -0
  85. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.es.js +12 -0
  86. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.es.js.map +1 -0
  87. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-fence.es.js +12 -0
  88. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-fence.es.js.map +1 -0
  89. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.es.js +12 -0
  90. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.es.js.map +1 -0
  91. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-quote.es.js +12 -0
  92. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-quote.es.js.map +1 -0
  93. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.es.js +12 -0
  94. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.es.js.map +1 -0
  95. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule.es.js +12 -0
  96. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule.es.js.map +1 -0
  97. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-strong.es.js +12 -0
  98. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-strong.es.js.map +1 -0
  99. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.es.js +7 -0
  100. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.es.js.map +1 -0
  101. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-info.es.js +38 -0
  102. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-info.es.js.map +1 -0
  103. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.es.js +10 -0
  104. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.es.js.map +1 -0
  105. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.es.js +14 -0
  106. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.es.js.map +1 -0
  107. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.es.js +16 -0
  108. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.es.js.map +1 -0
  109. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.es.js +16 -0
  110. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.es.js.map +1 -0
  111. package/dist/node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.es.js +194 -0
  112. package/dist/node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.es.js.map +1 -0
  113. package/dist/node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.es.js +193 -0
  114. package/dist/node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.es.js.map +1 -0
  115. package/dist/node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.es.js +68 -0
  116. package/dist/node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.es.js.map +1 -0
  117. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.es.js +72 -0
  118. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.es.js.map +1 -0
  119. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.es.js +24 -0
  120. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.es.js.map +1 -0
  121. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.es.js +146 -0
  122. package/dist/node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.es.js.map +1 -0
  123. package/dist/node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.es.js +46 -0
  124. package/dist/node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.es.js.map +1 -0
  125. package/dist/node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.es.js +19 -0
  126. package/dist/node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.es.js.map +1 -0
  127. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
  128. package/dist/node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.es.js +14 -0
  129. package/dist/node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.es.js.map +1 -0
  130. package/dist/node_modules/.pnpm/style-to-js@1.1.16/node_modules/style-to-js/cjs/index.es.js +1 -1
  131. package/dist/node_modules/.pnpm/style-to-object@1.0.8/node_modules/style-to-object/cjs/index.es.js +1 -1
  132. package/package.json +5 -2
  133. package/dist/components/AiMessageRender/index.css.es.js +0 -17
  134. package/dist/components/AiMessageRender/index.css.es.js.map +0 -1
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var p = { exports: {} };
2
2
  export {
3
- r as __exports
3
+ p as __module
4
4
  };
5
5
  //# sourceMappingURL=index.es2.js.map
@@ -1,5 +1,5 @@
1
- var p = { exports: {} };
1
+ var s = { exports: {} };
2
2
  export {
3
- p as __module
3
+ s as __module
4
4
  };
5
5
  //# sourceMappingURL=index.es3.js.map
@@ -1,5 +1,5 @@
1
- var s = { exports: {} };
1
+ var r = {};
2
2
  export {
3
- s as __module
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es4.js.map
@@ -7,5 +7,10 @@ export interface AiMessageRenderProps {
7
7
  showFooterButtons?: boolean;
8
8
  onCopy?: () => void;
9
9
  onRedo?: () => void;
10
+ markdownClassName?: string;
11
+ rootFontSize?: number;
12
+ /**隐藏默认样式 */
13
+ hideDefaultStyle?: boolean;
14
+ markdownStyle?: string;
10
15
  }
11
16
  export declare const AiMessageRender: (props: AiMessageRenderProps) => JSX.Element;
@@ -1,54 +1,59 @@
1
1
  import { j as e } from "../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.es.js";
2
- import { CopyCircleOutlined as p, RedoOutlined as u } from "../../node_modules/.pnpm/@easyv_react-icons@6.3.0/node_modules/@easyv/react-icons/dist/index.esm.es.js";
3
- import j from "../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.es.js";
4
- import v from "./index.css.es.js";
5
- import { ShadowDom as N } from "../ShadowDom/ShadowDom.es.js";
6
- import { Markdown as w } from "../../node_modules/.pnpm/react-markdown@10.1.0_@types_react@18.2.0_react@18.2.0/node_modules/react-markdown/lib/index.es.js";
7
- const R = (d) => {
2
+ import { CopyCircleOutlined as F } from "../../node_modules/.pnpm/@easyv_react-icons@6.3.0/node_modules/@easyv/react-icons/dist/index.esm.es.js";
3
+ import C from "../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.es.js";
4
+ import g from "./index.less.es.js";
5
+ import { ShadowDom as y } from "../ShadowDom/ShadowDom.es.js";
6
+ import { Markdown as k } from "../../node_modules/.pnpm/react-markdown@10.1.0_@types_react@18.2.0_react@18.2.0/node_modules/react-markdown/lib/index.es.js";
7
+ import b from "../../node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.es.js";
8
+ const B = (c) => {
8
9
  const {
9
- className: a = "",
10
- renderDashboardContent: s,
11
- showFooterButtons: l = !1,
12
- contents: c
13
- } = d, m = (t) => /* @__PURE__ */ e.jsx(N, { style: v, children: /* @__PURE__ */ e.jsx(w, { children: t }) }), x = (t) => {
14
- const { data: r, filterCode: n, plotModuleName: h, plotVersion: f } = t;
15
- if (s)
16
- return s(t);
17
- let o = r;
18
- return n && (o = new Function("data", n)(r)), /* @__PURE__ */ e.jsxs("div", { children: [
10
+ className: m = "",
11
+ onCopy: s,
12
+ renderDashboardContent: n,
13
+ showFooterButtons: f = !1,
14
+ contents: h,
15
+ markdownClassName: p = "",
16
+ rootFontSize: x,
17
+ hideDefaultStyle: u,
18
+ markdownStyle: o
19
+ } = c;
20
+ let i = u ? "" : g;
21
+ o && (i += `
22
+ ${o}`);
23
+ const j = (r) => /* @__PURE__ */ e.jsx(
24
+ y,
25
+ {
26
+ style: i,
27
+ shadowRootDivClassName: p + " markdown-container",
28
+ rootFontSize: x,
29
+ children: /* @__PURE__ */ e.jsx(k, { remarkPlugins: [b], children: r })
30
+ }
31
+ ), w = (r) => {
32
+ const { data: t, filterCode: a, plotModuleName: N, plotVersion: v } = r;
33
+ if (n)
34
+ return n(r);
35
+ let l = t;
36
+ return a && (l = new Function("data", a)(t)), /* @__PURE__ */ e.jsxs("div", { children: [
19
37
  /* @__PURE__ */ e.jsxs("div", { children: [
20
38
  "组件名称:",
21
- h
39
+ N
22
40
  ] }),
23
41
  /* @__PURE__ */ e.jsxs("div", { children: [
24
42
  "组件版本:",
25
- f
43
+ v
26
44
  ] }),
27
45
  /* @__PURE__ */ e.jsxs("div", { children: [
28
46
  "组件数据:",
29
- o.slice(0, 5).map((i) => JSON.stringify(i))
47
+ l.slice(0, 5).map((d) => JSON.stringify(d))
30
48
  ] })
31
49
  ] });
32
50
  };
33
- return /* @__PURE__ */ e.jsxs(
34
- "div",
35
- {
36
- className: j(
37
- "px-4 py-3 flex flex-col gap-3 rounded-lg max-w-[516px]",
38
- "bg-[#FFFFFF14] select-auto",
39
- a
40
- ),
41
- children: [
42
- c.map((t, r) => typeof t == "string" ? /* @__PURE__ */ e.jsx("div", { className: "contents", children: m(t) }, r) : /* @__PURE__ */ e.jsx("div", { className: "contents", children: x(t) }, r)),
43
- l && /* @__PURE__ */ e.jsxs("div", { className: "flex gap-1", children: [
44
- /* @__PURE__ */ e.jsx("div", { className: "w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer", children: /* @__PURE__ */ e.jsx(p, { className: "w-3.5 h-3.5 text-text-2" }) }),
45
- /* @__PURE__ */ e.jsx("div", { className: "w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer", children: /* @__PURE__ */ e.jsx(u, { className: "w-3.5 h-3.5 text-text-2" }) })
46
- ] })
47
- ]
48
- }
49
- );
51
+ return /* @__PURE__ */ e.jsxs("div", { className: C("px-4 py-3 flex flex-col gap-3 rounded-lg", "bg-[#FFFFFF14] select-text", m), children: [
52
+ h.map((r, t) => typeof r == "string" ? /* @__PURE__ */ e.jsx("div", { className: "contents", children: j(r) }, t) : /* @__PURE__ */ e.jsx("div", { className: "contents", children: w(r) }, t)),
53
+ f && /* @__PURE__ */ e.jsx("div", { className: "flex gap-1", children: /* @__PURE__ */ e.jsx("div", { className: "copy-btn w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer", children: /* @__PURE__ */ e.jsx(F, { className: "w-3.5 h-3.5 text-text-2", onClick: () => s == null ? void 0 : s() }) }) })
54
+ ] });
50
55
  };
51
56
  export {
52
- R as AiMessageRender
57
+ B as AiMessageRender
53
58
  };
54
59
  //# sourceMappingURL=AiMessageRender.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiMessageRender.es.js","sources":["../../../src/components/AiMessageRender/AiMessageRender.tsx"],"sourcesContent":["import { CopyCircleOutlined, RedoOutlined } from '@easyv/react-icons';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport { ShadowDom } from '../ShadowDom';\n// @ts-expect-error\nimport messageRenderCss from './index.css?raw';\nimport { DashboardContext } from './types';\n\nexport interface AiMessageRenderProps {\n className?: string;\n contents: (string | DashboardContext)[];\n renderDashboardContent?: (msg: DashboardContext) => React.ReactNode;\n showFooterButtons?: boolean;\n onCopy?: () => void;\n onRedo?: () => void;\n}\n\nexport const AiMessageRender = (props: AiMessageRenderProps) => {\n const {\n className = '',\n renderDashboardContent: propsRenderDashboardContent,\n showFooterButtons = false,\n contents,\n } = props;\n\n const renderStringContent = (msg: string) => {\n return (\n <ShadowDom style={messageRenderCss}>\n <Markdown>{msg}</Markdown>\n </ShadowDom>\n );\n };\n const renderDashboardContent = (msg: DashboardContext) => {\n const { data, filterCode, plotModuleName, plotVersion } = msg;\n if (propsRenderDashboardContent) {\n return propsRenderDashboardContent(msg);\n }\n let finalData = data;\n if (filterCode) {\n const filterFunc = new Function('data', filterCode);\n finalData = filterFunc(data) as unknown[];\n }\n return (\n <div>\n <div>组件名称:{plotModuleName}</div>\n <div>组件版本:{plotVersion}</div>\n <div>组件数据:{finalData.slice(0, 5).map((i: unknown) => JSON.stringify(i))}</div>\n </div>\n );\n };\n\n return (\n <div\n className={classNames(\n 'px-4 py-3 flex flex-col gap-3 rounded-lg max-w-[516px]',\n 'bg-[#FFFFFF14] select-auto',\n className\n )}\n >\n {contents.map((msg, index) => {\n if (typeof msg === 'string') {\n return (\n <div key={index} className='contents'>\n {renderStringContent(msg)}\n </div>\n );\n } else {\n return (\n <div key={index} className='contents'>\n {renderDashboardContent(msg)}\n </div>\n );\n }\n })}\n {showFooterButtons && (\n <div className='flex gap-1'>\n <div className='w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer'>\n <CopyCircleOutlined className='w-3.5 h-3.5 text-text-2' />\n </div>\n <div className='w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer'>\n <RedoOutlined className='w-3.5 h-3.5 text-text-2' />\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":["AiMessageRender","props","className","propsRenderDashboardContent","showFooterButtons","contents","renderStringContent","msg","ShadowDom","messageRenderCss","jsx","Markdown","renderDashboardContent","data","filterCode","plotModuleName","plotVersion","finalData","jsxs","classNames","index","CopyCircleOutlined","RedoOutlined"],"mappings":";;;;;;AAiBa,MAAAA,IAAkB,CAACC,MAAgC;AACxD,QAAA;AAAA,IACJ,WAAAC,IAAY;AAAA,IACZ,wBAAwBC;AAAA,IACxB,mBAAAC,IAAoB;AAAA,IACpB,UAAAC;AAAA,EAAA,IACEJ,GAEEK,IAAsB,CAACC,4BAExBC,GAAU,EAAA,OAAOC,GAChB,UAACC,gBAAAA,EAAA,IAAAC,GAAA,EAAU,aAAI,EACjB,CAAA,GAGEC,IAAyB,CAACL,MAA0B;AACxD,UAAM,EAAE,MAAAM,GAAM,YAAAC,GAAY,gBAAAC,GAAgB,aAAAC,EAAgB,IAAAT;AAC1D,QAAIJ;AACF,aAAOA,EAA4BI,CAAG;AAExC,QAAIU,IAAYJ;AAChB,WAAIC,MAEFG,IADmB,IAAI,SAAS,QAAQH,CAAU,EAC3BD,CAAI,2BAG1B,OACC,EAAA,UAAA;AAAA,MAAAK,gBAAAA,OAAC,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMH;AAAA,MAAA,GAAe;AAAA,6BACzB,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMC;AAAA,MAAA,GAAY;AAAA,6BACtB,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMC,EAAU,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAe,KAAK,UAAU,CAAC,CAAC;AAAA,MAAA,EAAE,CAAA;AAAA,IAAA,GAC1E;AAAA,EAEJ;AAGE,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACAjB;AAAA,MACF;AAAA,MAEC,UAAA;AAAA,QAASG,EAAA,IAAI,CAACE,GAAKa,MACd,OAAOb,KAAQ,iCAEd,OAAgB,EAAA,WAAU,YACxB,UAAoBD,EAAAC,CAAG,KADhBa,CAEV,0BAIC,OAAgB,EAAA,WAAU,YACxB,UAAuBR,EAAAL,CAAG,KADnBa,CAEV,CAGL;AAAA,QACAhB,KACCc,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,cACb,UAAA;AAAA,UAAAR,gBAAAA,EAAAA,IAAC,SAAI,WAAU,wFACb,gCAACW,GAAmB,EAAA,WAAU,2BAA0B,EAC1D,CAAA;AAAA,UACAX,gBAAAA,EAAAA,IAAC,SAAI,WAAU,wFACb,gCAACY,GAAa,EAAA,WAAU,0BAA0B,CAAA,EACpD,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
1
+ {"version":3,"file":"AiMessageRender.es.js","sources":["../../../src/components/AiMessageRender/AiMessageRender.tsx"],"sourcesContent":["import { CopyCircleOutlined } from '@easyv/react-icons';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport { ShadowDom } from '../ShadowDom';\n// @ts-expect-error\nimport messageRenderCss from './index.less?raw';\nimport { DashboardContext } from './types';\n\nexport interface AiMessageRenderProps {\n className?: string;\n contents: (string | DashboardContext)[];\n renderDashboardContent?: (msg: DashboardContext) => React.ReactNode;\n showFooterButtons?: boolean;\n onCopy?: () => void;\n onRedo?: () => void;\n markdownClassName?: string;\n rootFontSize?: number;\n /**隐藏默认样式 */\n hideDefaultStyle?: boolean;\n markdownStyle?: string;\n}\n\nexport const AiMessageRender = (props: AiMessageRenderProps) => {\n const {\n className = '',\n onCopy,\n renderDashboardContent: propsRenderDashboardContent,\n showFooterButtons = false,\n contents,\n markdownClassName = '',\n rootFontSize,\n hideDefaultStyle,\n markdownStyle,\n } = props;\n\n let finalMarkdownStyle = hideDefaultStyle ? '' : messageRenderCss;\n if (markdownStyle) {\n finalMarkdownStyle += `\\n${markdownStyle}`;\n }\n const renderStringContent = (msg: string) => {\n return (\n <ShadowDom\n style={finalMarkdownStyle}\n shadowRootDivClassName={markdownClassName + ' markdown-container'}\n rootFontSize={rootFontSize}\n >\n <Markdown remarkPlugins={[remarkGfm]}>{msg}</Markdown>\n </ShadowDom>\n );\n };\n const renderDashboardContent = (msg: DashboardContext) => {\n const { data, filterCode, plotModuleName, plotVersion } = msg;\n if (propsRenderDashboardContent) {\n return propsRenderDashboardContent(msg);\n }\n let finalData = data;\n if (filterCode) {\n const filterFunc = new Function('data', filterCode);\n finalData = filterFunc(data) as unknown[];\n }\n return (\n <div>\n <div>组件名称:{plotModuleName}</div>\n <div>组件版本:{plotVersion}</div>\n <div>组件数据:{finalData.slice(0, 5).map((i: unknown) => JSON.stringify(i))}</div>\n </div>\n );\n };\n\n return (\n <div className={classNames('px-4 py-3 flex flex-col gap-3 rounded-lg', 'bg-[#FFFFFF14] select-text', className)}>\n {contents.map((msg, index) => {\n if (typeof msg === 'string') {\n return (\n <div key={index} className='contents'>\n {renderStringContent(msg)}\n </div>\n );\n } else {\n return (\n <div key={index} className='contents'>\n {renderDashboardContent(msg)}\n </div>\n );\n }\n })}\n {showFooterButtons && (\n <div className='flex gap-1'>\n <div className='copy-btn w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer'>\n <CopyCircleOutlined className='w-3.5 h-3.5 text-text-2' onClick={() => onCopy?.()} />\n </div>\n {/* <div className='redo-btn w-6 h-6 rounded-md flex justify-center items-center hover:bg-bg-white cursor-pointer'>\n <RedoOutlined className='w-3.5 h-3.5 text-text-2' />\n </div> */}\n </div>\n )}\n </div>\n );\n};\n"],"names":["AiMessageRender","props","className","onCopy","propsRenderDashboardContent","showFooterButtons","contents","markdownClassName","rootFontSize","hideDefaultStyle","markdownStyle","finalMarkdownStyle","messageRenderCss","renderStringContent","msg","jsx","ShadowDom","Markdown","remarkGfm","renderDashboardContent","data","filterCode","plotModuleName","plotVersion","finalData","jsxs","i","classNames","index","CopyCircleOutlined"],"mappings":";;;;;;;AAuBa,MAAAA,IAAkB,CAACC,MAAgC;AACxD,QAAA;AAAA,IACJ,WAAAC,IAAY;AAAA,IACZ,QAAAC;AAAA,IACA,wBAAwBC;AAAA,IACxB,mBAAAC,IAAoB;AAAA,IACpB,UAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACET;AAEA,MAAAU,IAAqBF,IAAmB,KAAKG;AACjD,EAAIF,MACoBC,KAAA;AAAA,EAAKD,CAAa;AAEpC,QAAAG,IAAsB,CAACC,MAEzBC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOL;AAAA,MACP,wBAAwBJ,IAAoB;AAAA,MAC5C,cAAAC;AAAA,MAEA,gCAACS,GAAS,EAAA,eAAe,CAACC,CAAS,GAAI,UAAIJ,EAAA,CAAA;AAAA,IAAA;AAAA,EAC7C,GAGEK,IAAyB,CAACL,MAA0B;AACxD,UAAM,EAAE,MAAAM,GAAM,YAAAC,GAAY,gBAAAC,GAAgB,aAAAC,EAAgB,IAAAT;AAC1D,QAAIV;AACF,aAAOA,EAA4BU,CAAG;AAExC,QAAIU,IAAYJ;AAChB,WAAIC,MAEFG,IADmB,IAAI,SAAS,QAAQH,CAAU,EAC3BD,CAAI,2BAG1B,OACC,EAAA,UAAA;AAAA,MAAAK,gBAAAA,OAAC,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMH;AAAA,MAAA,GAAe;AAAA,6BACzB,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMC;AAAA,MAAA,GAAY;AAAA,6BACtB,OAAI,EAAA,UAAA;AAAA,QAAA;AAAA,QAAMC,EAAU,MAAM,GAAG,CAAC,EAAE,IAAI,CAACE,MAAe,KAAK,UAAUA,CAAC,CAAC;AAAA,MAAA,EAAE,CAAA;AAAA,IAAA,GAC1E;AAAA,EAEJ;AAEA,gCACG,OAAI,EAAA,WAAWC,EAAW,4CAA4C,8BAA8BzB,CAAS,GAC3G,UAAA;AAAA,IAASI,EAAA,IAAI,CAACQ,GAAKc,MACd,OAAOd,KAAQ,iCAEd,OAAgB,EAAA,WAAU,YACxB,UAAoBD,EAAAC,CAAG,KADhBc,CAEV,0BAIC,OAAgB,EAAA,WAAU,YACxB,UAAuBT,EAAAL,CAAG,KADnBc,CAEV,CAGL;AAAA,IACAvB,KACEU,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,cACb,UAAAA,gBAAAA,EAAA,IAAC,SAAI,WAAU,iGACb,UAACA,gBAAAA,EAAA,IAAAc,GAAA,EAAmB,WAAU,2BAA0B,SAAS,MAAM1B,KAAA,gBAAAA,KAAY,GACrF,EAIF,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -0,0 +1,197 @@
1
+ const n = `.markdown-container {
2
+ --base-font: 16px;
3
+ /* // 基础文本样式 */
4
+ color: #fff;
5
+ font-family: 'PingFang SC', BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
6
+ line-height: 1.6;
7
+ font-size: 16px;
8
+ font-style: normal;
9
+ font-weight: 400;
10
+ user-select: text;
11
+ }
12
+
13
+ /* // 重置一些元素的默认样式 */
14
+ * {
15
+ box-sizing: border-box;
16
+ margin: 0;
17
+ padding: 0;
18
+ }
19
+
20
+ img {
21
+ max-width: 50%;
22
+ border-radius: calc(0.5 * var(--base-font));
23
+ }
24
+
25
+ /* // 标题样式 */
26
+ h1,
27
+ h2,
28
+ h3,
29
+ h4,
30
+ h5,
31
+ h6 {
32
+ margin: calc(1.5 * var(--base-font)) var(--base-font);
33
+ font-weight: 600;
34
+ line-height: 1.25;
35
+ color: #fff;
36
+
37
+ &:first-child {
38
+ margin-top: 0;
39
+ }
40
+ }
41
+
42
+ h1 {
43
+ font-size: calc(2 * var(--base-font));
44
+ border-bottom: 1px solid #eaecef;
45
+ padding-bottom: calc(0.3 * var(--base-font));
46
+ }
47
+
48
+ h2 {
49
+ font-size: calc(1.5 * var(--base-font));
50
+ border-bottom: 1px solid #eaecef;
51
+ padding-bottom: calc(0.3 * var(--base-font));
52
+ }
53
+
54
+ h3 {
55
+ font-size: calc(1.25 * var(--base-font));
56
+ }
57
+ h4 {
58
+ font-size: var(--base-font);
59
+ }
60
+ h5 {
61
+ font-size: calc(0.875 * var(--base-font));
62
+ }
63
+ h6 {
64
+ font-size: calc(0.85 * var(--base-font));
65
+ color: #6a737d;
66
+ }
67
+
68
+ /* // 段落和文本 */
69
+ p {
70
+ margin: 0 0 var(--base-font);
71
+ }
72
+
73
+ strong {
74
+ font-weight: 600;
75
+ }
76
+
77
+ em {
78
+ font-style: italic;
79
+ }
80
+
81
+ /* // 链接 */
82
+ a {
83
+ color: #0366d6;
84
+ text-decoration: none;
85
+
86
+ &:hover {
87
+ text-decoration: underline;
88
+ }
89
+ }
90
+
91
+ /* // 列表 */
92
+ ul,
93
+ ol {
94
+ margin-bottom: var(--base-font);
95
+ padding-left: calc(2 * var(--base-font));
96
+ }
97
+
98
+ li {
99
+ margin-bottom: calc(0.25 * var(--base-font));
100
+
101
+ > p {
102
+ margin: 0;
103
+ }
104
+ }
105
+
106
+ /* // 代码块和内联代码 */
107
+ pre {
108
+ background-color: #fafafa;
109
+ border-radius: calc(0.3 * var(--base-font));
110
+ padding: var(--base-font);
111
+ overflow: auto;
112
+ margin-bottom: var(--base-font);
113
+ line-height: 1.45;
114
+ overflow-x: auto;
115
+
116
+ code {
117
+ color: #494949;
118
+ background-color: transparent;
119
+ padding: 0;
120
+ border-radius: 0;
121
+ border: none;
122
+ }
123
+ }
124
+
125
+ code {
126
+ font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
127
+ background-color: #ececec;
128
+ color: #404040;
129
+ border-radius: calc(0.25 * var(--base-font));
130
+ padding: 0calc (2 * var(--base-font)) calc(0.4 * var(--base-font));
131
+ font-size: 85%;
132
+ }
133
+
134
+ /* // 表格样式 */
135
+ table {
136
+ border-collapse: collapse;
137
+ width: 100%;
138
+ margin-bottom: var(--base-font);
139
+ display: block;
140
+ overflow-x: auto;
141
+ color: #4a4e55;
142
+ }
143
+ table th,
144
+ table td {
145
+ padding: calc(0.75 * var(--base-font)) var(--base-font);
146
+ border: 1px solid #dfe2e5;
147
+ }
148
+
149
+ table th {
150
+ background-color: #f6f8fa;
151
+ font-weight: 600;
152
+ text-align: left;
153
+ }
154
+
155
+ table tr {
156
+ background-color: #fff;
157
+ border-top: 1px solid #c6cbd1;
158
+
159
+ &:nth-child(2n) {
160
+ background-color: #f6f8fa;
161
+ }
162
+ }
163
+
164
+ /* // 引用块 */
165
+ blockquote {
166
+ border-left: calc(0.25 * var(--base-font)) solid #dfe2e5;
167
+ color: #fff;
168
+ padding: 0 var(--base-font);
169
+ margin: 0 0 var(--base-font) 0;
170
+
171
+ p {
172
+ margin: 0;
173
+ }
174
+ }
175
+
176
+ /* // 水平线 */
177
+ hr {
178
+ height: 1px;
179
+ background-color: #e1e4e8;
180
+ border: 0;
181
+ margin: calc(1.5 * var(--base-font)) 0;
182
+ }
183
+
184
+ /* // 任务列表 */
185
+ .task-list-item {
186
+ list-style-type: none;
187
+
188
+ input[type='checkbox'] {
189
+ margin: 0 0calc (2 * var(--base-font)) calc(0.25 * var(--base-font)) -1.6em;
190
+ vertical-align: middle;
191
+ }
192
+ }
193
+ `;
194
+ export {
195
+ n as default
196
+ };
197
+ //# sourceMappingURL=index.less.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.less.es.js","sources":["../../../src/components/AiMessageRender/index.less?raw"],"sourcesContent":["export default \".markdown-container {\\n --base-font: 16px;\\n /* // 基础文本样式 */\\n color: #fff;\\n font-family: 'PingFang SC', BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\\n line-height: 1.6;\\n font-size: 16px;\\n font-style: normal;\\n font-weight: 400;\\n user-select: text;\\n}\\n\\n/* // 重置一些元素的默认样式 */\\n* {\\n box-sizing: border-box;\\n margin: 0;\\n padding: 0;\\n}\\n\\nimg {\\n max-width: 50%;\\n border-radius: calc(0.5 * var(--base-font));\\n}\\n\\n/* // 标题样式 */\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n margin: calc(1.5 * var(--base-font)) var(--base-font);\\n font-weight: 600;\\n line-height: 1.25;\\n color: #fff;\\n\\n &:first-child {\\n margin-top: 0;\\n }\\n}\\n\\nh1 {\\n font-size: calc(2 * var(--base-font));\\n border-bottom: 1px solid #eaecef;\\n padding-bottom: calc(0.3 * var(--base-font));\\n}\\n\\nh2 {\\n font-size: calc(1.5 * var(--base-font));\\n border-bottom: 1px solid #eaecef;\\n padding-bottom: calc(0.3 * var(--base-font));\\n}\\n\\nh3 {\\n font-size: calc(1.25 * var(--base-font));\\n}\\nh4 {\\n font-size: var(--base-font);\\n}\\nh5 {\\n font-size: calc(0.875 * var(--base-font));\\n}\\nh6 {\\n font-size: calc(0.85 * var(--base-font));\\n color: #6a737d;\\n}\\n\\n/* // 段落和文本 */\\np {\\n margin: 0 0 var(--base-font);\\n}\\n\\nstrong {\\n font-weight: 600;\\n}\\n\\nem {\\n font-style: italic;\\n}\\n\\n/* // 链接 */\\na {\\n color: #0366d6;\\n text-decoration: none;\\n\\n &:hover {\\n text-decoration: underline;\\n }\\n}\\n\\n/* // 列表 */\\nul,\\nol {\\n margin-bottom: var(--base-font);\\n padding-left: calc(2 * var(--base-font));\\n}\\n\\nli {\\n margin-bottom: calc(0.25 * var(--base-font));\\n\\n > p {\\n margin: 0;\\n }\\n}\\n\\n/* // 代码块和内联代码 */\\npre {\\n background-color: #fafafa;\\n border-radius: calc(0.3 * var(--base-font));\\n padding: var(--base-font);\\n overflow: auto;\\n margin-bottom: var(--base-font);\\n line-height: 1.45;\\n overflow-x: auto;\\n\\n code {\\n color: #494949;\\n background-color: transparent;\\n padding: 0;\\n border-radius: 0;\\n border: none;\\n }\\n}\\n\\ncode {\\n font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;\\n background-color: #ececec;\\n color: #404040;\\n border-radius: calc(0.25 * var(--base-font));\\n padding: 0calc (2 * var(--base-font)) calc(0.4 * var(--base-font));\\n font-size: 85%;\\n}\\n\\n/* // 表格样式 */\\ntable {\\n border-collapse: collapse;\\n width: 100%;\\n margin-bottom: var(--base-font);\\n display: block;\\n overflow-x: auto;\\n color: #4a4e55;\\n}\\ntable th,\\ntable td {\\n padding: calc(0.75 * var(--base-font)) var(--base-font);\\n border: 1px solid #dfe2e5;\\n}\\n\\ntable th {\\n background-color: #f6f8fa;\\n font-weight: 600;\\n text-align: left;\\n}\\n\\ntable tr {\\n background-color: #fff;\\n border-top: 1px solid #c6cbd1;\\n\\n &:nth-child(2n) {\\n background-color: #f6f8fa;\\n }\\n}\\n\\n/* // 引用块 */\\nblockquote {\\n border-left: calc(0.25 * var(--base-font)) solid #dfe2e5;\\n color: #fff;\\n padding: 0 var(--base-font);\\n margin: 0 0 var(--base-font) 0;\\n\\n p {\\n margin: 0;\\n }\\n}\\n\\n/* // 水平线 */\\nhr {\\n height: 1px;\\n background-color: #e1e4e8;\\n border: 0;\\n margin: calc(1.5 * var(--base-font)) 0;\\n}\\n\\n/* // 任务列表 */\\n.task-list-item {\\n list-style-type: none;\\n\\n input[type='checkbox'] {\\n margin: 0 0calc (2 * var(--base-font)) calc(0.25 * var(--base-font)) -1.6em;\\n vertical-align: middle;\\n }\\n}\\n\""],"names":["messageRenderCss"],"mappings":"AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -2,6 +2,8 @@ import { PropsWithChildren } from 'react';
2
2
 
3
3
  interface ShadowDomProps {
4
4
  style: string;
5
+ shadowRootDivClassName?: string;
6
+ rootFontSize?: number;
5
7
  }
6
8
  export declare const ShadowDom: (props: PropsWithChildren<ShadowDomProps>) => JSX.Element;
7
9
  export {};
@@ -1,25 +1,27 @@
1
- import { j as o } from "../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.es.js";
2
- import { useRef as i, useState as h, useEffect as m } from "react";
1
+ import { j as s } from "../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.es.js";
2
+ import { useRef as f, useState as m, useEffect as d } from "react";
3
3
  import { createPortal as u } from "react-dom";
4
- const p = (a) => {
5
- const { children: e, style: n } = a, t = i(null), [r, c] = h();
6
- return m(() => {
4
+ const y = (c) => {
5
+ const { children: r, style: n, shadowRootDivClassName: a = "", rootFontSize: e = 16 } = c, t = f(null), [o, h] = m();
6
+ return d(() => {
7
7
  if (t.current && !t.current.shadowRoot) {
8
- const s = t.current.attachShadow({ mode: "open" });
9
- s.innerHTML = `
8
+ const i = t.current.shadowRoot || t.current.attachShadow({ mode: "open" });
9
+ i.innerHTML = `
10
10
  <style>${n}</style>
11
- <div data-shadow-container class="content"></div>
11
+ <div data-shadow-container class="${a}"></div>
12
12
  `, setTimeout(() => {
13
- const d = s.querySelector("[data-shadow-container]");
14
- c(d);
13
+ const l = i.querySelector("[data-shadow-container]");
14
+ h(l);
15
15
  }, 0);
16
16
  }
17
- }, [e, n]), /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
18
- r && u(e, r),
19
- /* @__PURE__ */ o.jsx("div", { ref: t })
17
+ }, [r, n, a]), d(() => {
18
+ o && (o.style.fontSize = `${e}px`, o.style.setProperty("--base-font", `${e}px`));
19
+ }, [e, o]), /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
20
+ o && u(r, o),
21
+ /* @__PURE__ */ s.jsx("div", { ref: t })
20
22
  ] });
21
23
  };
22
24
  export {
23
- p as ShadowDom
25
+ y as ShadowDom
24
26
  };
25
27
  //# sourceMappingURL=ShadowDom.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShadowDom.es.js","sources":["../../../src/components/ShadowDom/ShadowDom.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface ShadowDomProps {\n style: string;\n}\nexport const ShadowDom = (props: PropsWithChildren<ShadowDomProps>) => {\n const { children, style } = props;\n const shadowRef = useRef<HTMLDivElement>(null);\n const [shadowContainer, setShadowContainer] = useState<HTMLDivElement>(); // shadowRef.current?.shadowRoot?.querySelector('[data-shadow-container]');\n\n useEffect(() => {\n if (shadowRef.current && !shadowRef.current.shadowRoot) {\n const shadowRoot = shadowRef.current.attachShadow({ mode: 'open' });\n shadowRoot.innerHTML = `\n <style>${style}</style>\n <div data-shadow-container class=\"content\"></div>\n `;\n setTimeout(() => {\n const shadowContainerInner = shadowRoot.querySelector('[data-shadow-container]');\n setShadowContainer(shadowContainerInner as HTMLDivElement);\n }, 0);\n }\n }, [children, style]);\n\n return (\n <>\n {shadowContainer && createPortal(children, shadowContainer)}\n <div ref={shadowRef} />\n </>\n );\n};\n"],"names":["ShadowDom","props","children","style","shadowRef","useRef","shadowContainer","setShadowContainer","useState","useEffect","shadowRoot","shadowContainerInner","jsxs","Fragment","createPortal","jsx"],"mappings":";;;AAMa,MAAAA,IAAY,CAACC,MAA6C;AAC/D,QAAA,EAAE,UAAAC,GAAU,OAAAC,EAAA,IAAUF,GACtBG,IAAYC,EAAuB,IAAI,GACvC,CAACC,GAAiBC,CAAkB,IAAIC,EAAyB;AAEvE,SAAAC,EAAU,MAAM;AACd,QAAIL,EAAU,WAAW,CAACA,EAAU,QAAQ,YAAY;AACtD,YAAMM,IAAaN,EAAU,QAAQ,aAAa,EAAE,MAAM,QAAQ;AAClE,MAAAM,EAAW,YAAY;AAAA,iBACZP,CAAK;AAAA;AAAA,SAGhB,WAAW,MAAM;AACT,cAAAQ,IAAuBD,EAAW,cAAc,yBAAyB;AAC/E,QAAAH,EAAmBI,CAAsC;AAAA,SACxD,CAAC;AAAA,IAAA;AAAA,EACN,GACC,CAACT,GAAUC,CAAK,CAAC,GAIfS,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAmBP,KAAAQ,EAAaZ,GAAUI,CAAe;AAAA,IAC1DS,gBAAAA,EAAAA,IAAC,OAAI,EAAA,KAAKX,EAAW,CAAA;AAAA,EAAA,GACvB;AAEJ;"}
1
+ {"version":3,"file":"ShadowDom.es.js","sources":["../../../src/components/ShadowDom/ShadowDom.tsx"],"sourcesContent":["import React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface ShadowDomProps {\n style: string;\n shadowRootDivClassName?: string;\n rootFontSize?: number;\n}\nexport const ShadowDom = (props: PropsWithChildren<ShadowDomProps>) => {\n const { children, style, shadowRootDivClassName = '', rootFontSize = 16 } = props;\n const shadowRef = useRef<HTMLDivElement>(null);\n const [shadowContainer, setShadowContainer] = useState<HTMLDivElement>(); // shadowRef.current?.shadowRoot?.querySelector('[data-shadow-container]');\n\n useEffect(() => {\n if (shadowRef.current && !shadowRef.current.shadowRoot) {\n const shadowRoot = shadowRef.current.shadowRoot || shadowRef.current.attachShadow({ mode: 'open' });\n shadowRoot.innerHTML = `\n <style>${style}</style>\n <div data-shadow-container class=\"${shadowRootDivClassName}\"></div>\n `;\n setTimeout(() => {\n const shadowContainerInner = shadowRoot.querySelector('[data-shadow-container]') as HTMLDivElement;\n setShadowContainer(shadowContainerInner as HTMLDivElement);\n }, 0);\n }\n }, [children, style, shadowRootDivClassName]);\n\n useEffect(() => {\n if (shadowContainer) {\n shadowContainer.style.fontSize = `${rootFontSize}px`;\n shadowContainer.style.setProperty('--base-font', `${rootFontSize}px`);\n }\n }, [rootFontSize, shadowContainer]);\n\n return (\n <>\n {shadowContainer && createPortal(children, shadowContainer)}\n <div ref={shadowRef} />\n </>\n );\n};\n"],"names":["ShadowDom","props","children","style","shadowRootDivClassName","rootFontSize","shadowRef","useRef","shadowContainer","setShadowContainer","useState","useEffect","shadowRoot","shadowContainerInner","jsxs","Fragment","createPortal","jsx"],"mappings":";;;AAQa,MAAAA,IAAY,CAACC,MAA6C;AACrE,QAAM,EAAE,UAAAC,GAAU,OAAAC,GAAO,wBAAAC,IAAyB,IAAI,cAAAC,IAAe,OAAOJ,GACtEK,IAAYC,EAAuB,IAAI,GACvC,CAACC,GAAiBC,CAAkB,IAAIC,EAAyB;AAEvE,SAAAC,EAAU,MAAM;AACd,QAAIL,EAAU,WAAW,CAACA,EAAU,QAAQ,YAAY;AAChD,YAAAM,IAAaN,EAAU,QAAQ,cAAcA,EAAU,QAAQ,aAAa,EAAE,MAAM,QAAQ;AAClG,MAAAM,EAAW,YAAY;AAAA,iBACZT,CAAK;AAAA,4CACsBC,CAAsB;AAAA,SAE5D,WAAW,MAAM;AACT,cAAAS,IAAuBD,EAAW,cAAc,yBAAyB;AAC/E,QAAAH,EAAmBI,CAAsC;AAAA,SACxD,CAAC;AAAA,IAAA;AAAA,EAEL,GAAA,CAACX,GAAUC,GAAOC,CAAsB,CAAC,GAE5CO,EAAU,MAAM;AACd,IAAIH,MACcA,EAAA,MAAM,WAAW,GAAGH,CAAY,MAChDG,EAAgB,MAAM,YAAY,eAAe,GAAGH,CAAY,IAAI;AAAA,EACtE,GACC,CAACA,GAAcG,CAAe,CAAC,GAI7BM,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAmBP,KAAAQ,EAAad,GAAUM,CAAe;AAAA,IAC1DS,gBAAAA,EAAAA,IAAC,OAAI,EAAA,KAAKX,EAAW,CAAA;AAAA,EAAA,GACvB;AAEJ;"}