@cgboiler/biz-mobile 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/es/index.d.ts +4 -2
  2. package/es/index.js +5 -1
  3. package/es/md-preview/MdPreview.d.ts +49 -0
  4. package/es/md-preview/MdPreview.js +59 -0
  5. package/es/md-preview/_atomic.css +32 -0
  6. package/es/md-preview/index.css +1 -0
  7. package/es/md-preview/index.d.ts +3 -0
  8. package/es/md-preview/index.js +5 -0
  9. package/es/md-preview/index.less +102 -0
  10. package/es/md-preview/style/index.d.ts +1 -0
  11. package/es/md-preview/style/index.js +1 -0
  12. package/es/md-preview/style/less.d.ts +1 -0
  13. package/es/md-preview/style/less.js +1 -0
  14. package/es/md-preview/types.d.ts +23 -0
  15. package/es/md-preview/types.js +24 -0
  16. package/es/md-preview/utils/customRules.d.ts +12 -0
  17. package/es/md-preview/utils/customRules.js +31 -0
  18. package/es/md-preview/utils/diffRenderer.d.ts +8 -0
  19. package/es/md-preview/utils/diffRenderer.js +24 -0
  20. package/es/md-preview/utils/index.d.ts +4 -0
  21. package/es/md-preview/utils/index.js +4 -0
  22. package/es/md-preview/utils/markdownRenderer.d.ts +7 -0
  23. package/es/md-preview/utils/markdownRenderer.js +24 -0
  24. package/es/md-preview/utils/typewriterEffect.d.ts +34 -0
  25. package/es/md-preview/utils/typewriterEffect.js +61 -0
  26. package/es/vue-sfc-shim.d.ts +3 -0
  27. package/lib/index.d.ts +4 -2
  28. package/lib/index.js +5 -1
  29. package/lib/md-preview/MdPreview.d.ts +49 -0
  30. package/lib/md-preview/MdPreview.js +76 -0
  31. package/lib/md-preview/_atomic.css +32 -0
  32. package/lib/md-preview/index.css +1 -0
  33. package/lib/md-preview/index.d.ts +3 -0
  34. package/lib/md-preview/index.js +34 -0
  35. package/lib/md-preview/index.less +102 -0
  36. package/lib/md-preview/style/index.d.ts +1 -0
  37. package/lib/md-preview/style/index.js +1 -0
  38. package/lib/md-preview/style/less.d.ts +1 -0
  39. package/lib/md-preview/style/less.js +1 -0
  40. package/lib/md-preview/types.d.ts +23 -0
  41. package/lib/md-preview/types.js +43 -0
  42. package/lib/md-preview/utils/customRules.d.ts +12 -0
  43. package/lib/md-preview/utils/customRules.js +50 -0
  44. package/lib/md-preview/utils/diffRenderer.d.ts +8 -0
  45. package/lib/md-preview/utils/diffRenderer.js +53 -0
  46. package/lib/md-preview/utils/index.d.ts +4 -0
  47. package/lib/md-preview/utils/index.js +20 -0
  48. package/lib/md-preview/utils/markdownRenderer.d.ts +7 -0
  49. package/lib/md-preview/utils/markdownRenderer.js +53 -0
  50. package/lib/md-preview/utils/typewriterEffect.d.ts +34 -0
  51. package/lib/md-preview/utils/typewriterEffect.js +79 -0
  52. package/lib/vue-sfc-shim.d.ts +3 -0
  53. package/package.json +3 -2
@@ -0,0 +1,49 @@
1
+ import './index.less';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ text: {
4
+ type: StringConstructor;
5
+ required: boolean;
6
+ };
7
+ typewriter: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ typewriterKey: {
12
+ type: NumberConstructor;
13
+ };
14
+ showDiff: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ previousText: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "typewriterComplete"[], "typewriterComplete", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ text: {
24
+ type: StringConstructor;
25
+ required: boolean;
26
+ };
27
+ typewriter: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ typewriterKey: {
32
+ type: NumberConstructor;
33
+ };
34
+ showDiff: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ previousText: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ }>> & Readonly<{
43
+ onTypewriterComplete?: ((...args: any[]) => any) | undefined;
44
+ }>, {
45
+ typewriter: boolean;
46
+ showDiff: boolean;
47
+ previousText: string;
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
49
+ export default _default;
@@ -0,0 +1,76 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __export = (target, all) => {
20
+ for (var name in all)
21
+ __defProp(target, name, { get: all[name], enumerable: true });
22
+ };
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") {
25
+ for (let key of __getOwnPropNames(from))
26
+ if (!__hasOwnProp.call(to, key) && key !== except)
27
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
+ }
29
+ return to;
30
+ };
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var stdin_exports = {};
33
+ __export(stdin_exports, {
34
+ default: () => stdin_default
35
+ });
36
+ module.exports = __toCommonJS(stdin_exports);
37
+ var import_vue = require("vue");
38
+ var import_atomic = require("./_atomic.css");
39
+ var import_vue2 = require("vue");
40
+ var import_types = require("./types");
41
+ var import_utils = require("./utils");
42
+ var import_index = require("./index.css");
43
+ var stdin_default = (0, import_vue2.defineComponent)({
44
+ name: "MdPreview",
45
+ props: __spreadValues({}, import_types.mdPreviewProps),
46
+ emits: ["typewriterComplete"],
47
+ setup(props, {
48
+ emit
49
+ }) {
50
+ (0, import_utils.initMarked)();
51
+ const {
52
+ currentText,
53
+ controller: typewriterController
54
+ } = (0, import_utils.useTypewriter)(() => {
55
+ emit("typewriterComplete");
56
+ });
57
+ const htmlContent = (0, import_vue2.computed)(() => (0, import_utils.renderMarkdown)(props.text || ""));
58
+ const displayContent = (0, import_vue2.computed)(() => {
59
+ if (props.showDiff) {
60
+ return (0, import_utils.generateDiffHtml)(props.previousText, props.text || "", htmlContent.value);
61
+ }
62
+ return props.typewriter ? currentText.value : htmlContent.value;
63
+ });
64
+ (0, import_vue2.watch)([() => props.text, () => props.typewriterKey], () => {
65
+ if (props.typewriter) {
66
+ typewriterController.start(htmlContent.value);
67
+ }
68
+ }, {
69
+ immediate: true
70
+ });
71
+ return () => (0, import_vue.createVNode)("div", {
72
+ "class": "cgx-markdown-preview",
73
+ "innerHTML": displayContent.value
74
+ }, null);
75
+ }
76
+ });
@@ -0,0 +1,32 @@
1
+
2
+ .cgx-atm .flex {
3
+ align-items: initial;
4
+ flex-direction: initial;
5
+ justify-content: initial;
6
+ flex-wrap: initial;
7
+ }
8
+ .cgx-atm .flex-row {
9
+ flex-direction: row;
10
+ }
11
+ .cgx-atm .flex-col {
12
+ flex-direction: column;
13
+ }
14
+ .cgx-atm .justify-center {
15
+ justify-content: center;
16
+ }
17
+ .cgx-atm .justify-between {
18
+ justify-content: space-between;
19
+ }
20
+ .cgx-atm .justify-around {
21
+ justify-content: space-around;
22
+ }
23
+ .cgx-atm .justify-end {
24
+ justify-content: flex-end;
25
+ }
26
+ .cgx-atm .items-center {
27
+ align-items: center;
28
+ }
29
+ .cgx-atm .flex-wrap {
30
+ flex-wrap: wrap;
31
+ }
32
+
@@ -0,0 +1 @@
1
+ .katex-block{display:block;margin:1em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.cgx-markdown-preview{overflow-x:auto}.cgx-markdown-preview .diff-container{border:1px solid #ebeef5;border-radius:4px;overflow:auto}.cgx-markdown-preview .diff-equal{color:#606266}.cgx-markdown-preview .diff-delete{background-color:#ffeef0;color:#f56c6c;text-decoration:line-through}.cgx-markdown-preview .diff-insert{background-color:#e6ffec;color:#67c23a}.cgx-markdown-preview .diff-unified-view pre{margin:0;padding:8px;white-space:pre-wrap;word-break:break-word}.cgx-markdown-preview{line-height:1.6;font-size:var(--font-base)}.cgx-markdown-preview ol{list-style:auto}.cgx-markdown-preview ul{list-style:disc}.cgx-markdown-preview ol,.cgx-markdown-preview ul{padding-left:2em;margin:0 0 12px}.cgx-markdown-preview li::marker{text-align:start!important}.cgx-markdown-preview h1{font-size:2em;font-weight:700;margin:16px 0}.cgx-markdown-preview h2{font-size:1.5em;font-weight:700;margin:14px 0}.cgx-markdown-preview p{margin:12px 0}.cgx-markdown-preview blockquote{margin:0;padding-left:1em;border-left:4px solid #ddd;color:#666}.cgx-markdown-preview table{border-collapse:collapse;width:100%;margin-bottom:16px}.cgx-markdown-preview th,.cgx-markdown-preview td{border:1px solid #ddd;padding:8px;text-align:left}.cgx-markdown-preview th{background-color:#f6f8fa}
@@ -0,0 +1,3 @@
1
+ import _MdPreview from './MdPreview';
2
+ export default _MdPreview;
3
+ export type { MdPreviewProps } from './types';
@@ -0,0 +1,34 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var stdin_exports = {};
29
+ __export(stdin_exports, {
30
+ default: () => stdin_default
31
+ });
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var import_MdPreview = __toESM(require("./MdPreview"));
34
+ var stdin_default = import_MdPreview.default;
@@ -0,0 +1,102 @@
1
+ .katex-block {
2
+ display: block;
3
+ margin: 1em 0;
4
+ text-align: center;
5
+ overflow-x: auto;
6
+ overflow-y: hidden;
7
+ }
8
+
9
+ .cgx-markdown-preview {
10
+ overflow-x: auto;
11
+
12
+ /* 差异对比样式 */
13
+ .diff-container {
14
+ border: 1px solid #ebeef5;
15
+ border-radius: 4px;
16
+ overflow: auto;
17
+ }
18
+
19
+ .diff-equal {
20
+ color: #606266;
21
+ }
22
+
23
+ .diff-delete {
24
+ background-color: #ffeef0;
25
+ color: #f56c6c;
26
+ text-decoration: line-through;
27
+ }
28
+
29
+ .diff-insert {
30
+ background-color: #e6ffec;
31
+ color: #67c23a;
32
+ }
33
+
34
+ .diff-unified-view pre {
35
+ margin: 0;
36
+ padding: 8px;
37
+ white-space: pre-wrap;
38
+ word-break: break-word;
39
+ }
40
+ }
41
+
42
+ .cgx-markdown-preview {
43
+ line-height: 1.6;
44
+ font-size: var(--font-base);
45
+ ol {
46
+ list-style: auto;
47
+ }
48
+
49
+ ul {
50
+ list-style: disc;
51
+ }
52
+
53
+ ol,
54
+ ul {
55
+ padding-left: 2em;
56
+ margin: 0 0 12px 0;
57
+ }
58
+
59
+ li::marker {
60
+ text-align: start !important;
61
+ }
62
+
63
+ h1 {
64
+ font-size: 2em;
65
+ font-weight: bold;
66
+ margin: 16px 0;
67
+ }
68
+
69
+ h2 {
70
+ font-size: 1.5em;
71
+ font-weight: bold;
72
+ margin: 14px 0;
73
+ }
74
+
75
+ p {
76
+ margin: 12px 0;
77
+ }
78
+
79
+ blockquote {
80
+ margin: 0;
81
+ padding-left: 1em;
82
+ border-left: 4px solid #ddd;
83
+ color: #666;
84
+ }
85
+
86
+ table {
87
+ border-collapse: collapse;
88
+ width: 100%;
89
+ margin-bottom: 16px;
90
+ }
91
+
92
+ th,
93
+ td {
94
+ border: 1px solid #ddd;
95
+ padding: 8px;
96
+ text-align: left;
97
+ }
98
+
99
+ th {
100
+ background-color: #f6f8fa;
101
+ }
102
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ require("../index.css");
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ require("../index.less");
@@ -0,0 +1,23 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+ export declare const mdPreviewProps: {
3
+ text: {
4
+ type: StringConstructor;
5
+ required: boolean;
6
+ };
7
+ typewriter: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ typewriterKey: {
12
+ type: NumberConstructor;
13
+ };
14
+ showDiff: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ previousText: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ };
23
+ export type MdPreviewProps = ExtractPropTypes<typeof mdPreviewProps>;
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ mdPreviewProps: () => mdPreviewProps
21
+ });
22
+ module.exports = __toCommonJS(stdin_exports);
23
+ const mdPreviewProps = {
24
+ text: {
25
+ type: String,
26
+ required: true
27
+ },
28
+ typewriter: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ typewriterKey: {
33
+ type: Number
34
+ },
35
+ showDiff: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ previousText: {
40
+ type: String,
41
+ default: ""
42
+ }
43
+ };
@@ -0,0 +1,12 @@
1
+ export declare const customTildeRule: {
2
+ name: string;
3
+ level: string;
4
+ start(src: string): number;
5
+ tokenizer(src: string): {
6
+ type: string;
7
+ raw: string;
8
+ text: string;
9
+ } | undefined;
10
+ renderer(token: any): any;
11
+ };
12
+ export declare const initMarked: () => void;
@@ -0,0 +1,50 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ customTildeRule: () => customTildeRule,
21
+ initMarked: () => initMarked
22
+ });
23
+ module.exports = __toCommonJS(stdin_exports);
24
+ var import_marked = require("marked");
25
+ const customTildeRule = {
26
+ name: "customTilde",
27
+ level: "inline",
28
+ start(src) {
29
+ return src.indexOf("~");
30
+ },
31
+ tokenizer(src) {
32
+ const rule = /^~([^~]+)~/;
33
+ const match = src.match(rule);
34
+ if (match) {
35
+ return {
36
+ type: "customTilde",
37
+ raw: match[0],
38
+ text: match[0]
39
+ };
40
+ }
41
+ },
42
+ renderer(token) {
43
+ return token.text;
44
+ }
45
+ };
46
+ const initMarked = () => {
47
+ import_marked.marked.use({
48
+ extensions: [customTildeRule]
49
+ });
50
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 生成差异对比的 HTML
3
+ * @param previousText 原始文本
4
+ * @param currentText 当前文本
5
+ * @param fallbackHtml 当无法生成差异时的备用 HTML
6
+ * @returns 差异对比的 HTML
7
+ */
8
+ export declare const generateDiffHtml: (previousText: string, currentText: string, fallbackHtml: string) => string;
@@ -0,0 +1,53 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var stdin_exports = {};
29
+ __export(stdin_exports, {
30
+ generateDiffHtml: () => generateDiffHtml
31
+ });
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var DiffMatchPatch = __toESM(require("diff-match-patch"));
34
+ const generateDiffHtml = (previousText, currentText, fallbackHtml) => {
35
+ if (!previousText && !currentText)
36
+ return fallbackHtml;
37
+ const dmp = new DiffMatchPatch.diff_match_patch();
38
+ const diffs = dmp.diff_main(previousText, currentText);
39
+ dmp.diff_cleanupSemantic(diffs);
40
+ let html = '<div class="diff-unified-view"><pre>';
41
+ diffs.forEach(([type, text]) => {
42
+ const escapedText = text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>");
43
+ if (type === 0) {
44
+ html += `<span class="diff-equal">${escapedText}</span>`;
45
+ } else if (type === -1) {
46
+ html += `<span class="diff-delete">${escapedText}</span>`;
47
+ } else if (type === 1) {
48
+ html += `<span class="diff-insert">${escapedText}</span>`;
49
+ }
50
+ });
51
+ html += "</pre></div>";
52
+ return html;
53
+ };
@@ -0,0 +1,4 @@
1
+ export * from './customRules';
2
+ export * from './markdownRenderer';
3
+ export * from './diffRenderer';
4
+ export * from './typewriterEffect';
@@ -0,0 +1,20 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var stdin_exports = {};
16
+ module.exports = __toCommonJS(stdin_exports);
17
+ __reExport(stdin_exports, require("./customRules"), module.exports);
18
+ __reExport(stdin_exports, require("./markdownRenderer"), module.exports);
19
+ __reExport(stdin_exports, require("./diffRenderer"), module.exports);
20
+ __reExport(stdin_exports, require("./typewriterEffect"), module.exports);
@@ -0,0 +1,7 @@
1
+ import 'katex/dist/katex.min.css';
2
+ /**
3
+ * 渲染 Markdown 内容为 HTML
4
+ * @param text Markdown 文本
5
+ * @returns 渲染后的 HTML
6
+ */
7
+ export declare const renderMarkdown: (text: string) => string;
@@ -0,0 +1,53 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var stdin_exports = {};
29
+ __export(stdin_exports, {
30
+ renderMarkdown: () => renderMarkdown
31
+ });
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var import_marked = require("marked");
34
+ var katex = __toESM(require("katex"));
35
+ var import_katex_min = require("katex/dist/katex.min.css");
36
+ const renderMarkdown = (text) => {
37
+ const processedText = (text || "").replace(/(\$\$[\s\S]+?\$\$|\$[^\$\n]+?\$)/g, (match) => {
38
+ return `@@MATH_FORMULA@@${encodeURIComponent(match)}@@`;
39
+ }).replace(/<\/?(pre|code)(\s[^>]*)?>/g, "").replace(/```markdown|```/g, "").replace(/(.*)```$/gm, "$1");
40
+ let renderedContent = (0, import_marked.marked)(processedText);
41
+ renderedContent = renderedContent.replace(/@@MATH_FORMULA@@([^@]+)@@/g, (_, encoded) => {
42
+ const formula = decodeURIComponent(encoded);
43
+ const isBlock = formula.startsWith("$$") && formula.endsWith("$$");
44
+ const tex = isBlock ? formula.slice(2, -2).trim() : formula.slice(1, -1).trim();
45
+ const html = katex.renderToString(tex, {
46
+ displayMode: isBlock,
47
+ throwOnError: false,
48
+ strict: false
49
+ });
50
+ return isBlock ? `<div class="katex-block">${html}</div>` : html;
51
+ });
52
+ return renderedContent.replace(/<a\s/g, '<a target="_blank" ');
53
+ };
@@ -0,0 +1,34 @@
1
+ import { Ref } from 'vue';
2
+ /**
3
+ * 打字机效果控制器
4
+ */
5
+ export declare class TypewriterController {
6
+ private currentText;
7
+ private typingTimer;
8
+ private onComplete;
9
+ /**
10
+ * 构造函数
11
+ * @param currentText 当前文本的响应式引用
12
+ * @param onComplete 打字完成时的回调函数
13
+ */
14
+ constructor(currentText: Ref<string>, onComplete: () => void);
15
+ /**
16
+ * 开始打字机效果
17
+ * @param fullContent 完整的内容
18
+ * @param speed 打字速度(毫秒)
19
+ */
20
+ start(fullContent: string, speed?: number): void;
21
+ /**
22
+ * 停止打字机效果
23
+ */
24
+ stop(): void;
25
+ }
26
+ /**
27
+ * 创建打字机效果控制器
28
+ * @param onComplete 打字完成时的回调函数
29
+ * @returns 打字机控制器和当前文本的引用
30
+ */
31
+ export declare const useTypewriter: (onComplete: () => void) => {
32
+ currentText: Ref<string, string>;
33
+ controller: TypewriterController;
34
+ };