@matechat/core 1.6.0 → 1.7.0-alpha.1

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.
package/Bubble/index.css CHANGED
@@ -1 +1 @@
1
- .mc-bubble-avatar-wrapper{display:inline-block}.mc-bubble-avatar-wrapper .mc-bubble-avatar-style{display:inline-block;text-align:center;color:var(--devui-light-text, #ffffff)}.mc-bubble-avatar-wrapper .mc-bubble-avatar-background-0{background-color:#ff8b87}.mc-bubble-avatar-wrapper .mc-bubble-avatar-background-1{background-color:#7693f5}.mc-bubble-loading[data-v-395fc568]{display:flex;align-items:center;gap:8px}.mc-bubble-loading .loading-dot[data-v-395fc568]{width:8px;height:8px;border-radius:5px;background-color:#9880ff}.mc-bubble-loading .loading-dot.dot-start[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:0s}.mc-bubble-loading .loading-dot.dot-middle[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:.5s}.mc-bubble-loading .loading-dot.dot-end[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:1s}@keyframes dotFlashing-395fc568{0%{background-color:#9880ff}to{background-color:#ebe6ff}}.mc-bubble[data-v-7e509691]{display:flex;gap:4px;font-size:var(--devui-font-size, 14px)}.mc-bubble .mc-bubble-content[data-v-7e509691]{word-wrap:break-word}.mc-bubble .mc-bubble-content.filled[data-v-7e509691],.mc-bubble .mc-bubble-content.bordered[data-v-7e509691]{padding:12px 16px;border-radius:12px}.mc-bubble .mc-bubble-content.filled[data-v-7e509691]{background-color:var(--devui-global-bg, #f6f6f8)}.mc-bubble .mc-bubble-content.bordered[data-v-7e509691]{border:1px solid var(--devui-dividing-line, #f2f2f3)}.mc-bubble .mc-bubble-avatar[data-v-7e509691]{flex-shrink:0;display:flex;gap:4px}.mc-bubble .mc-bubble-avatar .mc-bubble-avatar-name[data-v-7e509691]{font-size:14px}.mc-bubble .mc-bubble-avatar.empty-avatar[data-v-7e509691]{visibility:hidden}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar[data-v-7e509691]{align-items:center}.mc-bubble .mc-bubble-content-container[data-v-7e509691]{max-width:100%}.mc-bubble.mc-bubble-avatar-top[data-v-7e509691]{flex-direction:column}.mc-bubble.mc-bubble-loading.mc-bubble-avatar-side[data-v-7e509691]{align-items:center}.mc-bubble.mc-bubble-avatar-side.mc-bubble-right[data-v-7e509691]{flex-direction:row-reverse;justify-content:end}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar[data-v-7e509691],.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container[data-v-7e509691]{display:flex}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar[data-v-7e509691],.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-content-container[data-v-7e509691]{justify-content:end}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar[data-v-7e509691]{flex-direction:row-reverse}
1
+ .mc-bubble-avatar-wrapper{display:inline-block}.mc-bubble-avatar-wrapper .mc-bubble-avatar-style{display:inline-block;text-align:center;color:var(--devui-light-text, #ffffff)}.mc-bubble-avatar-wrapper .mc-bubble-avatar-background-0{background-color:#ff8b87}.mc-bubble-avatar-wrapper .mc-bubble-avatar-background-1{background-color:#7693f5}.mc-bubble-loading[data-v-395fc568]{display:flex;align-items:center;gap:8px}.mc-bubble-loading .loading-dot[data-v-395fc568]{width:8px;height:8px;border-radius:5px;background-color:#9880ff}.mc-bubble-loading .loading-dot.dot-start[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:0s}.mc-bubble-loading .loading-dot.dot-middle[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:.5s}.mc-bubble-loading .loading-dot.dot-end[data-v-395fc568]{animation:dotFlashing-395fc568 1s infinite linear alternate;animation-delay:1s}@keyframes dotFlashing-395fc568{0%{background-color:#9880ff}to{background-color:#ebe6ff}}.mc-bubble[data-v-7e509691]{display:flex;gap:4px;font-size:var(--devui-font-size, 14px)}.mc-bubble .mc-bubble-content[data-v-7e509691]{word-wrap:break-word}.mc-bubble .mc-bubble-content.filled[data-v-7e509691],.mc-bubble .mc-bubble-content.bordered[data-v-7e509691]{padding:12px 16px;border-radius:12px}.mc-bubble .mc-bubble-content.filled[data-v-7e509691]{background-color:var(--devui-global-bg, #f6f6f8)}.mc-bubble .mc-bubble-content.bordered[data-v-7e509691]{border:1px solid var(--devui-dividing-line, #f2f2f3)}.mc-bubble .mc-bubble-avatar[data-v-7e509691]{flex-shrink:0;display:flex;gap:4px}.mc-bubble .mc-bubble-avatar .mc-bubble-avatar-name[data-v-7e509691]{font-size:14px}.mc-bubble .mc-bubble-avatar.empty-avatar[data-v-7e509691]{visibility:hidden}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar[data-v-7e509691]{align-items:center}.mc-bubble .mc-bubble-content-container[data-v-7e509691]{max-width:100%}.mc-bubble.mc-bubble-avatar-top[data-v-7e509691]{flex-direction:column}.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container[data-v-7e509691]{align-items:flex-start;flex-direction:column}.mc-bubble.mc-bubble-loading.mc-bubble-avatar-side[data-v-7e509691]{align-items:center}.mc-bubble.mc-bubble-avatar-side.mc-bubble-right[data-v-7e509691]{flex-direction:row-reverse;justify-content:end}.mc-bubble.mc-bubble-avatar-top .mc-bubble-avatar[data-v-7e509691],.mc-bubble.mc-bubble-avatar-top .mc-bubble-content-container[data-v-7e509691]{display:flex}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar[data-v-7e509691],.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-content-container[data-v-7e509691]{align-items:flex-end}.mc-bubble.mc-bubble-avatar-top.mc-bubble-right .mc-bubble-avatar[data-v-7e509691]{flex-direction:row-reverse}
package/Input/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./index.css";
2
- import { defineComponent as k, inject as T, computed as M, withDirectives as j, createElementBlock as p, openBlock as u, normalizeClass as $, unref as o, isRef as z, vModelText as W, nextTick as A, createElementVNode as C, ref as S, reactive as O, createCommentVNode as g, createBlock as K, toDisplayString as x, normalizeStyle as R, watch as U, provide as X, renderSlot as v, createVNode as w } from "vue";
2
+ import { defineComponent as k, ref as w, inject as T, computed as M, onMounted as j, withDirectives as z, createElementBlock as p, openBlock as u, normalizeClass as $, unref as o, isRef as W, vModelText as A, nextTick as O, createElementVNode as C, reactive as U, createCommentVNode as _, createBlock as K, toDisplayString as S, normalizeStyle as X, watch as Y, provide as q, renderSlot as h, createVNode as x } from "vue";
3
3
  import { useMcI18n as F } from "@matechat/core/Locale";
4
- var _ = /* @__PURE__ */ ((t) => (t.Simple = "simple", t.Full = "full", t))(_ || {}), P = /* @__PURE__ */ ((t) => (t.Bordered = "bordered", t.BorderLess = "borderless", t))(P || {}), E = /* @__PURE__ */ ((t) => (t.Simple = "simple", t.Full = "full", t))(E || {}), y = /* @__PURE__ */ ((t) => (t.Enter = "enter", t.ShiftEnter = "shiftEnter", t))(y || {});
5
- const Y = {
4
+ var b = /* @__PURE__ */ ((e) => (e.Simple = "simple", e.Full = "full", e))(b || {}), P = /* @__PURE__ */ ((e) => (e.Bordered = "bordered", e.BorderLess = "borderless", e))(P || {}), E = /* @__PURE__ */ ((e) => (e.Simple = "simple", e.Full = "full", e))(E || {}), y = /* @__PURE__ */ ((e) => (e.Enter = "enter", e.ShiftEnter = "shiftEnter", e))(y || {});
5
+ const G = {
6
6
  value: {
7
7
  type: String,
8
8
  default: ""
@@ -44,67 +44,75 @@ const Y = {
44
44
  type: [String, null],
45
45
  default: "enter"
46
46
  /* Enter */
47
+ },
48
+ autofocus: {
49
+ type: Boolean,
50
+ default: !1
47
51
  }
48
- }, q = ["change", "submit", "cancel", "focus", "blur"], B = "mc-input", G = ["placeholder", "disabled", "maxlength"], H = /* @__PURE__ */ k({
52
+ }, H = ["change", "submit", "cancel", "focus", "blur"], B = "mc-input", J = ["placeholder", "disabled", "maxlength"], Q = /* @__PURE__ */ k({
49
53
  __name: "textarea",
50
- setup(t) {
51
- const { t: s } = F(), { inputValue: n, rootProps: e, rootEmits: i } = T(B), a = M(() => {
54
+ setup(e) {
55
+ const { t: s } = F(), i = w(), { inputValue: t, rootProps: n, rootEmits: l } = T(B), d = M(() => {
52
56
  let r = "", m = "";
53
- return e.submitShortKey === y.Enter && (r = "Enter", m = "Shift + Enter"), e.submitShortKey === y.ShiftEnter && (r = "Shift + Enter", m = "Enter"), e.placeholder ?? (r ? s("Input.pleaseEnterPlaceholder", { enterKey: r, shiftEnterKey: m }) : s("Input.pleaseEnter"));
57
+ return n.submitShortKey === y.Enter && (r = "Enter", m = "Shift + Enter"), n.submitShortKey === y.ShiftEnter && (r = "Shift + Enter", m = "Enter"), n.placeholder ?? (r ? s("Input.pleaseEnterPlaceholder", { enterKey: r, shiftEnterKey: m }) : s("Input.pleaseEnter"));
54
58
  });
55
59
  let c = !1;
56
- const d = () => {
57
- A(() => {
58
- i("change", n.value);
60
+ const L = () => {
61
+ O(() => {
62
+ l("change", t.value);
59
63
  });
60
- }, h = () => {
61
- c || d();
62
- }, l = () => {
64
+ }, a = () => {
65
+ c || L();
66
+ }, g = () => {
63
67
  c = !0;
64
- }, b = () => {
65
- c = !1, d();
66
- }, f = (r) => {
67
- if (e.submitShortKey === null)
68
+ }, f = () => {
69
+ c = !1, L();
70
+ }, v = (r) => {
71
+ if (n.submitShortKey === null)
68
72
  return;
69
- (e.submitShortKey === y.Enter ? !r.shiftKey : e.submitShortKey === y.ShiftEnter ? r.shiftKey : !1) && r.key === "Enter" && !c && (r.preventDefault(), i("submit", n.value), n.value = "", i("change", n.value));
70
- }, L = (r) => {
71
- i("focus", r);
73
+ (n.submitShortKey === y.Enter ? !r.shiftKey : n.submitShortKey === y.ShiftEnter ? r.shiftKey : !1) && r.key === "Enter" && !c && (r.preventDefault(), l("submit", t.value), t.value = "", l("change", t.value));
72
74
  }, N = (r) => {
73
- i("blur", r);
75
+ l("focus", r);
76
+ }, D = (r) => {
77
+ l("blur", r);
74
78
  };
75
- return (r, m) => j((u(), p("textarea", {
76
- "onUpdate:modelValue": m[0] || (m[0] = (D) => z(n) ? n.value = D : null),
77
- placeholder: a.value,
78
- disabled: o(e).disabled,
79
- maxlength: o(e).maxLength,
79
+ return j(() => {
80
+ n.autofocus && i.value && !n.disabled && i.value.focus();
81
+ }), (r, m) => z((u(), p("textarea", {
82
+ ref_key: "textareaRef",
83
+ ref: i,
84
+ "onUpdate:modelValue": m[0] || (m[0] = (R) => W(t) ? t.value = R : null),
85
+ placeholder: d.value,
86
+ disabled: o(n).disabled,
87
+ maxlength: o(n).maxLength,
80
88
  class: $([
81
89
  "mc-textarea",
82
- { "mc-textarea-simple": o(e).displayType === o(_).Simple, "mc-textarea-disabled": o(e).disabled }
90
+ { "mc-textarea-simple": o(n).displayType === o(b).Simple, "mc-textarea-disabled": o(n).disabled }
83
91
  ]),
84
- onInput: h,
85
- onCompositionstart: l,
86
- onCompositionend: b,
87
- onKeydown: f,
88
- onFocus: L,
89
- onBlur: N
90
- }, null, 42, G)), [
91
- [W, o(n)]
92
+ onInput: a,
93
+ onCompositionstart: g,
94
+ onCompositionend: f,
95
+ onKeydown: v,
96
+ onFocus: N,
97
+ onBlur: D
98
+ }, null, 42, J)), [
99
+ [A, o(t)]
92
100
  ]);
93
101
  }
94
- }), I = (t, s) => {
95
- const n = t.__vccOpts || t;
96
- for (const [e, i] of s)
97
- n[e] = i;
98
- return n;
99
- }, J = {}, Q = {
102
+ }), I = (e, s) => {
103
+ const i = e.__vccOpts || e;
104
+ for (const [t, n] of s)
105
+ i[t] = n;
106
+ return i;
107
+ }, e1 = {}, t1 = {
100
108
  width: "16px",
101
109
  height: "16px",
102
110
  viewBox: "0 0 16 16",
103
111
  version: "1.1",
104
112
  xmlns: "http://www.w3.org/2000/svg"
105
113
  };
106
- function e1(t, s) {
107
- return u(), p("svg", Q, s[0] || (s[0] = [
114
+ function n1(e, s) {
115
+ return u(), p("svg", t1, s[0] || (s[0] = [
108
116
  C(
109
117
  "g",
110
118
  {
@@ -121,15 +129,15 @@ function e1(t, s) {
121
129
  )
122
130
  ]));
123
131
  }
124
- const t1 = /* @__PURE__ */ I(J, [["render", e1]]), n1 = {}, o1 = {
132
+ const o1 = /* @__PURE__ */ I(e1, [["render", n1]]), s1 = {}, l1 = {
125
133
  width: "16px",
126
134
  height: "16px",
127
135
  viewBox: "0 0 16 16",
128
136
  version: "1.1",
129
137
  xmlns: "http://www.w3.org/2000/svg"
130
138
  };
131
- function s1(t, s) {
132
- return u(), p("svg", o1, s[0] || (s[0] = [
139
+ function a1(e, s) {
140
+ return u(), p("svg", l1, s[0] || (s[0] = [
133
141
  C(
134
142
  "g",
135
143
  {
@@ -146,119 +154,119 @@ function s1(t, s) {
146
154
  )
147
155
  ]));
148
156
  }
149
- const l1 = /* @__PURE__ */ I(n1, [["render", s1]]), r1 = ["disabled"], i1 = { class: "mc-button-content" }, a1 = { key: 2 }, u1 = /* @__PURE__ */ k({
157
+ const r1 = /* @__PURE__ */ I(s1, [["render", a1]]), i1 = ["disabled"], u1 = { class: "mc-button-content" }, c1 = { key: 2 }, p1 = /* @__PURE__ */ k({
150
158
  __name: "button",
151
- setup(t) {
152
- const { t: s } = F(), { inputValue: n, rootProps: e, rootEmits: i } = T(
159
+ setup(e) {
160
+ const { t: s } = F(), { inputValue: i, rootProps: t, rootEmits: n } = T(
153
161
  B
154
- ), a = S(!1), c = S(!1), d = O({
162
+ ), l = w(!1), d = w(!1), c = U({
155
163
  top: "0px",
156
164
  left: "0px"
157
- }), h = M(() => ({
165
+ }), L = M(() => ({
158
166
  "mc-button": !0,
159
- "mc-button-loading": e.loading,
160
- mousedown: a.value,
161
- "mc-button-simple": e.sendBtnVariant === E.Simple
162
- })), l = (f) => {
163
- d.left = f.offsetX + "px", d.top = f.offsetY + "px", c.value = !0, setTimeout(() => {
164
- c.value = !1;
167
+ "mc-button-loading": t.loading,
168
+ mousedown: l.value,
169
+ "mc-button-simple": t.sendBtnVariant === E.Simple
170
+ })), a = (f) => {
171
+ c.left = f.offsetX + "px", c.top = f.offsetY + "px", d.value = !0, setTimeout(() => {
172
+ d.value = !1;
165
173
  }, 300);
166
- }, b = (f) => {
167
- l(f), e.loading ? i("cancel") : (i("submit", n.value), n.value = "", i("change", n.value));
174
+ }, g = (f) => {
175
+ a(f), t.loading ? n("cancel") : (n("submit", i.value), i.value = "", n("change", i.value));
168
176
  };
169
- return (f, L) => (u(), p("button", {
170
- disabled: o(e).disabled || !o(e).loading && !o(n),
171
- class: $(h.value),
172
- onClick: b,
173
- onMousedown: L[0] || (L[0] = () => a.value = !0),
174
- onMouseup: L[1] || (L[1] = () => a.value = !1)
177
+ return (f, v) => (u(), p("button", {
178
+ disabled: o(t).disabled || !o(t).loading && !o(i),
179
+ class: $(L.value),
180
+ onClick: g,
181
+ onMousedown: v[0] || (v[0] = () => l.value = !0),
182
+ onMouseup: v[1] || (v[1] = () => l.value = !1)
175
183
  }, [
176
- C("span", i1, [
177
- o(e).loading ? (u(), K(t1, { key: 0 })) : (u(), K(l1, { key: 1 })),
178
- o(e).sendBtnVariant === o(E).Full ? (u(), p(
184
+ C("span", u1, [
185
+ o(t).loading ? (u(), K(o1, { key: 0 })) : (u(), K(r1, { key: 1 })),
186
+ o(t).sendBtnVariant === o(E).Full ? (u(), p(
179
187
  "span",
180
- a1,
181
- x(o(e).loading ? o(s)("Input.pauseAnswer") : o(s)("Input.send")),
188
+ c1,
189
+ S(o(t).loading ? o(s)("Input.pauseAnswer") : o(s)("Input.send")),
182
190
  1
183
191
  /* TEXT */
184
- )) : g("v-if", !0)
192
+ )) : _("v-if", !0)
185
193
  ]),
186
- c.value ? (u(), p(
194
+ d.value ? (u(), p(
187
195
  "div",
188
196
  {
189
197
  key: 0,
190
198
  class: "mc-button-water-wave",
191
- style: R(d)
199
+ style: X(c)
192
200
  },
193
201
  null,
194
202
  4
195
203
  /* STYLE */
196
- )) : g("v-if", !0)
197
- ], 42, r1));
204
+ )) : _("v-if", !0)
205
+ ], 42, i1));
198
206
  }
199
- }), Z = /* @__PURE__ */ I(u1, [["__scopeId", "data-v-8b1b116f"]]), c1 = { class: "mc-input-content" }, p1 = {
207
+ }), Z = /* @__PURE__ */ I(p1, [["__scopeId", "data-v-8b1b116f"]]), d1 = { class: "mc-input-content" }, f1 = {
200
208
  key: 0,
201
209
  class: "mc-input-foot"
202
- }, d1 = { class: "mc-input-foot-left" }, f1 = {
210
+ }, m1 = { class: "mc-input-foot-left" }, C1 = {
203
211
  key: 0,
204
212
  class: "mc-input-foot-count"
205
213
  }, V = /* @__PURE__ */ k({
206
214
  __name: "Input",
207
- props: Y,
208
- emits: q,
209
- setup(t, { expose: s, emit: n }) {
210
- const e = t, i = n, a = S(""), c = M(() => ({
215
+ props: G,
216
+ emits: H,
217
+ setup(e, { expose: s, emit: i }) {
218
+ const t = e, n = i, l = w(""), d = M(() => ({
211
219
  "mc-input": !0,
212
- "mc-input-disabled": e.disabled,
213
- "mc-input-simple": e.displayType === _.Simple,
214
- "mc-input-borderless": e.variant === P.BorderLess
215
- })), d = () => {
216
- a.value = "";
217
- }, h = () => a.value;
218
- return U(
219
- () => e.value,
220
+ "mc-input-disabled": t.disabled,
221
+ "mc-input-simple": t.displayType === b.Simple,
222
+ "mc-input-borderless": t.variant === P.BorderLess
223
+ })), c = () => {
224
+ l.value = "";
225
+ }, L = () => l.value;
226
+ return Y(
227
+ () => t.value,
220
228
  () => {
221
- a.value = e.value;
229
+ l.value = t.value;
222
230
  },
223
231
  { immediate: !0 }
224
- ), s({ clearInput: d, getInput: h }), X(B, { inputValue: a, rootProps: e, rootEmits: i }), (l, b) => (u(), p(
232
+ ), s({ clearInput: c, getInput: L }), q(B, { inputValue: l, rootProps: t, rootEmits: n }), (a, g) => (u(), p(
225
233
  "div",
226
234
  {
227
- class: $(c.value)
235
+ class: $(d.value)
228
236
  },
229
237
  [
230
- v(l.$slots, "head"),
231
- C("div", c1, [
232
- v(l.$slots, "prefix"),
233
- w(H),
234
- v(l.$slots, "suffix"),
235
- l.displayType === o(_).Simple ? v(l.$slots, "button", { key: 0 }, () => [
236
- w(Z)
237
- ]) : g("v-if", !0)
238
+ h(a.$slots, "head"),
239
+ C("div", d1, [
240
+ h(a.$slots, "prefix"),
241
+ x(Q),
242
+ h(a.$slots, "suffix"),
243
+ a.displayType === o(b).Simple ? h(a.$slots, "button", { key: 0 }, () => [
244
+ x(Z)
245
+ ]) : _("v-if", !0)
238
246
  ]),
239
- l.displayType === o(_).Full ? (u(), p("div", p1, [
240
- C("div", d1, [
241
- v(l.$slots, "extra"),
242
- l.showCount ? (u(), p(
247
+ a.displayType === o(b).Full ? (u(), p("div", f1, [
248
+ C("div", m1, [
249
+ h(a.$slots, "extra"),
250
+ a.showCount ? (u(), p(
243
251
  "span",
244
- f1,
245
- x(a.value.length) + x(l.maxLength ?? !1 ? `/${l.maxLength}` : ""),
252
+ C1,
253
+ S(l.value.length) + S(a.maxLength ?? !1 ? `/${a.maxLength}` : ""),
246
254
  1
247
255
  /* TEXT */
248
- )) : g("v-if", !0)
256
+ )) : _("v-if", !0)
249
257
  ]),
250
- v(l.$slots, "button", {}, () => [
251
- w(Z)
258
+ h(a.$slots, "button", {}, () => [
259
+ x(Z)
252
260
  ])
253
- ])) : g("v-if", !0)
261
+ ])) : _("v-if", !0)
254
262
  ],
255
263
  2
256
264
  /* CLASS */
257
265
  ));
258
266
  }
259
267
  });
260
- V.install = (t) => {
261
- t.component("McInput", V);
268
+ V.install = (e) => {
269
+ e.component("McInput", V);
262
270
  };
263
271
  export {
264
272
  V as McInput
package/Locale/index.js CHANGED
@@ -3,28 +3,28 @@ function g(n) {
3
3
  return new h(n);
4
4
  }
5
5
  let h = class {
6
- constructor(r) {
6
+ constructor(o) {
7
7
  this.locale = u("zh-cn"), this.messages = l({}), this.use = (e) => {
8
8
  this.locale.value = e;
9
9
  }, this.t = (e, s = {}) => {
10
10
  const t = this.messages[this.locale.value];
11
11
  return p(e, s, t);
12
- }, this.mergeLocaleMessages = (e, s) => this.messages[e] ? (this.messages[e] = a(this.messages[e], s), a(this.messages[e], s)) : (this.messages[e] = s, this.messages), this.locale.value = r.locale, this.messages = l(r.messages);
12
+ }, this.mergeLocaleMessages = (e, s) => this.messages[e] ? (this.messages[e] = a(this.messages[e], s), a(this.messages[e], s)) : (this.messages[e] = s, this.messages), this.locale.value = o.locale, this.messages = l(o.messages);
13
13
  }
14
14
  };
15
- function p(n, r, e) {
15
+ function p(n, o, e) {
16
16
  const s = n.split(".");
17
17
  let t = e || {};
18
- return s.forEach((o) => {
19
- t = t[o] ?? n;
20
- }), typeof t == "function" ? t(r) : t.replace(/{(\w+)}/g, (o, c) => r[c] ?? `{${c}}`);
18
+ return s.forEach((r) => {
19
+ t = t[r] ?? n;
20
+ }), typeof t == "function" ? t(o) : t.replace(/{(\w+)}/g, (r, c) => o[c] ?? `{${c}}`);
21
21
  }
22
- function a(n, r) {
22
+ function a(n, o) {
23
23
  const e = { ...n };
24
- for (const s in r)
25
- if (Object.prototype.hasOwnProperty.call(r, s)) {
26
- const t = r[s], o = n[s];
27
- typeof t == "object" && t !== null ? typeof o == "object" && o !== null ? e[s] = a(o, t) : e[s] = { ...t } : e[s] = t;
24
+ for (const s in o)
25
+ if (Object.prototype.hasOwnProperty.call(o, s)) {
26
+ const t = o[s], r = n[s];
27
+ typeof t == "object" && t !== null ? typeof r == "object" && r !== null ? e[s] = a(r, t) : e[s] = { ...t } : e[s] = t;
28
28
  }
29
29
  return e;
30
30
  }
@@ -39,7 +39,10 @@ const f = {
39
39
  toggle: "Collapse/Expand",
40
40
  copy: "Copy",
41
41
  diagram: "Diagram",
42
- code: "Code"
42
+ code: "Code",
43
+ zoomIn: "Zoom In",
44
+ zoomOut: "Zoom Out",
45
+ downLoad: "Download"
43
46
  }
44
47
  }, d = {
45
48
  Input: {
@@ -52,25 +55,28 @@ const f = {
52
55
  toggle: "收起/展开",
53
56
  copy: "复制",
54
57
  diagram: "图形",
55
- code: "代码"
58
+ code: "代码",
59
+ zoomIn: "放大",
60
+ zoomOut: "缩小",
61
+ downLoad: "下载"
56
62
  }
57
- }, y = {
63
+ }, m = {
58
64
  "en-us": f,
59
65
  "zh-cn": d
60
66
  }, i = g({
61
67
  locale: "zh-cn",
62
- messages: y
68
+ messages: m
63
69
  });
64
- function E() {
70
+ function I() {
65
71
  return i;
66
72
  }
67
- const I = {
73
+ const w = {
68
74
  install: (n) => {
69
75
  n.config.globalProperties.McI18n = i;
70
76
  }
71
77
  };
72
78
  export {
73
- I as McLocale,
79
+ w as McLocale,
74
80
  i as default,
75
- E as useMcI18n
81
+ I as useMcI18n
76
82
  };
@@ -0,0 +1,103 @@
1
+ class f {
2
+ constructor(t = {}) {
3
+ this.config = t, this.mermaidInstance = null, this.isLoading = !1, this.lastValidResult = "", this.viewStateMap = /* @__PURE__ */ new WeakMap(), this.containerHeight = 400;
4
+ }
5
+ async loadMermaid() {
6
+ if (this.mermaidInstance)
7
+ return this.mermaidInstance;
8
+ if (this.isLoading)
9
+ return new Promise((t) => {
10
+ const e = () => {
11
+ this.mermaidInstance ? t(this.mermaidInstance) : setTimeout(e, 50);
12
+ };
13
+ e();
14
+ });
15
+ this.isLoading = !0;
16
+ try {
17
+ const { default: t } = await import("mermaid");
18
+ return t.initialize({
19
+ theme: this.config.theme || "default",
20
+ startOnLoad: !1,
21
+ suppressErrorRendering: !0,
22
+ ...this.config
23
+ }), this.mermaidInstance = t, t;
24
+ } catch (t) {
25
+ throw console.error("Failed to load mermaid:", t), new Error("Failed to load mermaid library");
26
+ } finally {
27
+ this.isLoading = !1;
28
+ }
29
+ }
30
+ async renderToContainer(t, e, s = "light") {
31
+ const i = await this.renderMermaid(e, s);
32
+ t.innerHTML = i;
33
+ const a = t.querySelector("svg");
34
+ a && (this.initViewState(t, a), this.applyTransform(t, a), a.addEventListener("mousedown", (r) => this.onSvgMouseDown(r, t, a)));
35
+ }
36
+ initViewState(t, e) {
37
+ let s = e.getAttribute("viewBox"), i = 0, a = 0;
38
+ if (s) {
39
+ const l = s.split(/\s+/);
40
+ i = parseFloat(l[2]), a = parseFloat(l[3]);
41
+ } else
42
+ i = e.width.baseVal.value || e.getBoundingClientRect().width, a = e.height.baseVal.value || e.getBoundingClientRect().height;
43
+ const r = t.clientWidth || 0, n = this.containerHeight;
44
+ let o = 1;
45
+ i && a && r && n && (o = Math.min(r / i, n / a, 1)), this.viewStateMap.set(t, {
46
+ scale: o,
47
+ offsetX: 0,
48
+ offsetY: 0,
49
+ dragging: !1,
50
+ dragStart: { x: 0, y: 0 },
51
+ lastOffset: { x: 0, y: 0 }
52
+ });
53
+ }
54
+ applyTransform(t, e) {
55
+ const s = this.viewStateMap.get(t);
56
+ s && (e.style.position = "absolute", e.style.left = "50%", e.style.top = "50%", e.style.transform = `translate(-50%, -50%) translate(${s.offsetX}px, ${s.offsetY}px) scale(${s.scale})`, e.style.transformOrigin = "center center", e.style.cursor = s.dragging ? "grabbing" : "grab");
57
+ }
58
+ zoomIn(t) {
59
+ const e = t.querySelector("svg"), s = this.viewStateMap.get(t);
60
+ e && s && (s.scale = Math.min(s.scale + 0.2, 3), this.applyTransform(t, e));
61
+ }
62
+ zoomOut(t) {
63
+ const e = t.querySelector("svg"), s = this.viewStateMap.get(t);
64
+ e && s && (s.scale = Math.max(s.scale - 0.2, 0.2), this.applyTransform(t, e));
65
+ }
66
+ reset(t) {
67
+ const e = t.querySelector("svg");
68
+ e && (this.initViewState(t, e), this.applyTransform(t, e));
69
+ }
70
+ onSvgMouseDown(t, e, s) {
71
+ const i = this.viewStateMap.get(e);
72
+ if (!i) return;
73
+ i.dragging = !0, i.dragStart = { x: t.clientX, y: t.clientY }, i.lastOffset = { x: i.offsetX, y: i.offsetY };
74
+ const a = (n) => this.onSvgMouseMove(n, e, s), r = () => this.onSvgMouseUp(e, s, a, r);
75
+ document.addEventListener("mousemove", a), document.addEventListener("mouseup", r), this.applyTransform(e, s);
76
+ }
77
+ onSvgMouseMove(t, e, s) {
78
+ const i = this.viewStateMap.get(e);
79
+ !i || !i.dragging || (i.offsetX = i.lastOffset.x + (t.clientX - i.dragStart.x), i.offsetY = i.lastOffset.y + (t.clientY - i.dragStart.y), this.applyTransform(e, s));
80
+ }
81
+ onSvgMouseUp(t, e, s, i) {
82
+ const a = this.viewStateMap.get(t);
83
+ a && (a.dragging = !1, document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", i), this.applyTransform(t, e));
84
+ }
85
+ async renderMermaid(t, e = "light") {
86
+ try {
87
+ const s = await this.loadMermaid();
88
+ this.config.theme !== e && (this.config.theme = e, s.initialize({
89
+ startOnLoad: !1,
90
+ suppressErrorRendering: !0,
91
+ theme: e === "dark" ? "dark" : "default",
92
+ ...this.config
93
+ }));
94
+ const i = `mc_mermaid_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`, { svg: a } = await s.render(i, t);
95
+ return this.lastValidResult = a, a;
96
+ } catch {
97
+ return this.lastValidResult;
98
+ }
99
+ }
100
+ }
101
+ export {
102
+ f as MermaidService
103
+ };
@@ -1 +1 @@
1
- .mc-code-block-light[data-v-7ffec7b6] pre code.hljs{display:block;overflow-x:auto;padding:1em}.mc-code-block-light[data-v-7ffec7b6] code.hljs{padding:3px 5px}.mc-code-block-light[data-v-7ffec7b6] .hljs{background:#fefefe;color:#545454}.mc-code-block-light[data-v-7ffec7b6] .hljs-comment,.mc-code-block-light[data-v-7ffec7b6] .hljs-quote{color:#696969}.mc-code-block-light[data-v-7ffec7b6] .hljs-variable,.mc-code-block-light[data-v-7ffec7b6] .hljs-template-variable,.mc-code-block-light[data-v-7ffec7b6] .hljs-tag,.mc-code-block-light[data-v-7ffec7b6] .hljs-name,.mc-code-block-light[data-v-7ffec7b6] .hljs-selector-id,.mc-code-block-light[data-v-7ffec7b6] .hljs-selector-class,.mc-code-block-light[data-v-7ffec7b6] .hljs-regexp,.mc-code-block-light[data-v-7ffec7b6] .hljs-deletion{color:#d91e18}.mc-code-block-light[data-v-7ffec7b6] .hljs-number,.mc-code-block-light[data-v-7ffec7b6] .hljs-built_in,.mc-code-block-light[data-v-7ffec7b6] .hljs-literal,.mc-code-block-light[data-v-7ffec7b6] .hljs-type,.mc-code-block-light[data-v-7ffec7b6] .hljs-params,.mc-code-block-light[data-v-7ffec7b6] .hljs-meta,.mc-code-block-light[data-v-7ffec7b6] .hljs-link,.mc-code-block-light[data-v-7ffec7b6] .hljs-attribute{color:#aa5d00}.mc-code-block-light[data-v-7ffec7b6] .hljs-string,.mc-code-block-light[data-v-7ffec7b6] .hljs-symbol,.mc-code-block-light[data-v-7ffec7b6] .hljs-bullet,.mc-code-block-light[data-v-7ffec7b6] .hljs-addition{color:green}.mc-code-block-light[data-v-7ffec7b6] .hljs-title,.mc-code-block-light[data-v-7ffec7b6] .hljs-section{color:#007faa}.mc-code-block-light[data-v-7ffec7b6] .hljs-keyword,.mc-code-block-light[data-v-7ffec7b6] .hljs-selector-tag{color:#7928a1}.mc-code-block-light[data-v-7ffec7b6] .hljs-emphasis{font-style:italic}.mc-code-block-light[data-v-7ffec7b6] .hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.mc-code-block-light[data-v-7ffec7b6] .hljs-addition,.mc-code-block-light[data-v-7ffec7b6] .hljs-attribute,.mc-code-block-light[data-v-7ffec7b6] .hljs-built_in,.mc-code-block-light[data-v-7ffec7b6] .hljs-bullet,.mc-code-block-light[data-v-7ffec7b6] .hljs-comment,.mc-code-block-light[data-v-7ffec7b6] .hljs-link,.mc-code-block-light[data-v-7ffec7b6] .hljs-literal,.mc-code-block-light[data-v-7ffec7b6] .hljs-meta,.mc-code-block-light[data-v-7ffec7b6] .hljs-number,.mc-code-block-light[data-v-7ffec7b6] .hljs-params,.mc-code-block-light[data-v-7ffec7b6] .hljs-string,.mc-code-block-light[data-v-7ffec7b6] .hljs-symbol,.mc-code-block-light[data-v-7ffec7b6] .hljs-type,.mc-code-block-light[data-v-7ffec7b6] .hljs-quote{color:highlight}.mc-code-block-light[data-v-7ffec7b6] .hljs-keyword,.mc-code-block-light[data-v-7ffec7b6] .hljs-selector-tag{font-weight:700}}.mc-code-block-dark[data-v-7ffec7b6] pre code.hljs{display:block;overflow-x:auto;padding:1em}.mc-code-block-dark[data-v-7ffec7b6] code.hljs{padding:3px 5px}.mc-code-block-dark[data-v-7ffec7b6] .hljs{background:#2b2b2b;color:#f8f8f2}.mc-code-block-dark[data-v-7ffec7b6] .hljs-comment,.mc-code-block-dark[data-v-7ffec7b6] .hljs-quote{color:#d4d0ab}.mc-code-block-dark[data-v-7ffec7b6] .hljs-variable,.mc-code-block-dark[data-v-7ffec7b6] .hljs-template-variable,.mc-code-block-dark[data-v-7ffec7b6] .hljs-tag,.mc-code-block-dark[data-v-7ffec7b6] .hljs-name,.mc-code-block-dark[data-v-7ffec7b6] .hljs-selector-id,.mc-code-block-dark[data-v-7ffec7b6] .hljs-selector-class,.mc-code-block-dark[data-v-7ffec7b6] .hljs-regexp,.mc-code-block-dark[data-v-7ffec7b6] .hljs-deletion{color:#ffa07a}.mc-code-block-dark[data-v-7ffec7b6] .hljs-number,.mc-code-block-dark[data-v-7ffec7b6] .hljs-built_in,.mc-code-block-dark[data-v-7ffec7b6] .hljs-literal,.mc-code-block-dark[data-v-7ffec7b6] .hljs-type,.mc-code-block-dark[data-v-7ffec7b6] .hljs-params,.mc-code-block-dark[data-v-7ffec7b6] .hljs-meta,.mc-code-block-dark[data-v-7ffec7b6] .hljs-link{color:#f5ab35}.mc-code-block-dark[data-v-7ffec7b6] .hljs-attribute{color:gold}.mc-code-block-dark[data-v-7ffec7b6] .hljs-string,.mc-code-block-dark[data-v-7ffec7b6] .hljs-symbol,.mc-code-block-dark[data-v-7ffec7b6] .hljs-bullet,.mc-code-block-dark[data-v-7ffec7b6] .hljs-addition{color:#abe338}.mc-code-block-dark[data-v-7ffec7b6] .hljs-title,.mc-code-block-dark[data-v-7ffec7b6] .hljs-section{color:#00e0e0}.mc-code-block-dark[data-v-7ffec7b6] .hljs-keyword,.mc-code-block-dark[data-v-7ffec7b6] .hljs-selector-tag{color:#dcc6e0}.mc-code-block-dark[data-v-7ffec7b6] .hljs-emphasis{font-style:italic}.mc-code-block-dark[data-v-7ffec7b6] .hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.mc-code-block-dark[data-v-7ffec7b6] .hljs-addition,.mc-code-block-dark[data-v-7ffec7b6] .hljs-attribute,.mc-code-block-dark[data-v-7ffec7b6] .hljs-built_in,.mc-code-block-dark[data-v-7ffec7b6] .hljs-bullet,.mc-code-block-dark[data-v-7ffec7b6] .hljs-comment,.mc-code-block-dark[data-v-7ffec7b6] .hljs-link,.mc-code-block-dark[data-v-7ffec7b6] .hljs-literal,.mc-code-block-dark[data-v-7ffec7b6] .hljs-meta,.mc-code-block-dark[data-v-7ffec7b6] .hljs-number,.mc-code-block-dark[data-v-7ffec7b6] .hljs-params,.mc-code-block-dark[data-v-7ffec7b6] .hljs-string,.mc-code-block-dark[data-v-7ffec7b6] .hljs-symbol,.mc-code-block-dark[data-v-7ffec7b6] .hljs-type,.mc-code-block-dark[data-v-7ffec7b6] .hljs-quote{color:highlight}.mc-code-block-dark[data-v-7ffec7b6] .hljs-keyword,.mc-code-block-dark[data-v-7ffec7b6] .hljs-selector-tag{font-weight:700}}.v-enter-active[data-v-7ffec7b6],.v-leave-active[data-v-7ffec7b6]{transition:opacity .5s ease}.v-enter-from[data-v-7ffec7b6],.v-leave-to[data-v-7ffec7b6]{opacity:0}.mc-code-block[data-v-7ffec7b6]{margin:1rem 0;overflow:hidden;border-radius:14px}.mc-code-block pre[data-v-7ffec7b6]{margin:0}.mc-code-block .mc-action-btn[data-v-7ffec7b6]{width:24px;height:24px}.mc-code-block .mc-code-block-header[data-v-7ffec7b6]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem}.mc-code-block .mc-code-block-header .mc-code-lang[data-v-7ffec7b6]{font-size:var(--devui-font-size, 14px)}.mc-code-block .mc-mermaid-content[data-v-7ffec7b6]{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.mc-code-block .mc-code-block-actions[data-v-7ffec7b6]{display:flex;align-items:center}.mc-code-block .mc-code-block-actions .mc-copy-btn[data-v-7ffec7b6],.mc-code-block .mc-code-block-actions .mc-toggle-btn[data-v-7ffec7b6]{cursor:pointer;border-radius:4px;font-size:18px;padding:4px}.mc-code-block .mc-diagram-switch[data-v-7ffec7b6]{display:flex;align-items:center;list-style:none;margin:0;padding:2px;border-radius:4px;background-color:var(--devui-icon-hover-bg);position:relative;transition:all .3s ease;overflow:hidden;height:24px}.mc-code-block .mc-diagram-switch[data-v-7ffec7b6]:before{content:"";position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background-color:var(--devui-base-bg, #ffffff);border-radius:4px;transition:transform .3s ease;box-shadow:0 1px 2px var(--devui-hover-shadow);z-index:1}.mc-code-block .mc-diagram-switch.mc-show-code[data-v-7ffec7b6]:before{transform:translate(100%)}.mc-code-block .mc-diagram-switch .mc-diagram-switch-active[data-v-7ffec7b6]{text-shadow:0 0 .4px var(--devui-text)}.mc-code-block .mc-diagram-switch li[data-v-7ffec7b6]{position:relative;padding:0 8px;font-size:12px;cursor:pointer;transition:color .3s ease;z-index:2;-webkit-user-select:none;user-select:none;width:50%;text-align:center;margin:0;display:flex;align-items:center;justify-content:center;height:100%;line-height:initial}.mc-code-block-light[data-v-7ffec7b6]{border:1px solid #d7d8da;background-color:#f5f5f5}.mc-code-block-light code.hljs[data-v-7ffec7b6]{padding:1em}.mc-code-block-light .mc-code-lang[data-v-7ffec7b6],.mc-code-block-light .mc-code-block-actions .mc-copy-btn[data-v-7ffec7b6],.mc-code-block-light .mc-code-block-actions .mc-toggle-btn[data-v-7ffec7b6]{color:#252b3a}.mc-code-block-light .mc-code-block-actions .mc-copy-btn[data-v-7ffec7b6]:hover,.mc-code-block-light .mc-code-block-actions .mc-toggle-btn[data-v-7ffec7b6]:hover{background-color:#ebebeb}.mc-code-block-light .mc-mermaid-content[data-v-7ffec7b6]{background:#fefefe}.mc-code-block-dark[data-v-7ffec7b6]{border:1px solid #4e5057;background-color:#34363a}.mc-code-block-dark code.hljs[data-v-7ffec7b6]{padding:1em}.mc-code-block-dark .mc-code-lang[data-v-7ffec7b6],.mc-code-block-dark .mc-code-block-actions .mc-copy-btn[data-v-7ffec7b6],.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn[data-v-7ffec7b6]{color:#ced1db}.mc-code-block-dark .mc-code-block-actions .mc-copy-btn[data-v-7ffec7b6]:hover,.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn[data-v-7ffec7b6]:hover{background-color:#393a3e}.mc-code-block-dark .mc-code-block-actions .mc-copy-btn img[data-v-7ffec7b6],.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn img[data-v-7ffec7b6]{filter:brightness(1.5)}.mc-code-block-dark .mc-mermaid-content[data-v-7ffec7b6]{background:#2b2b2b}.collapse-transition-enter-from[data-v-7ffec7b6],.collapse-transition-leave-to[data-v-7ffec7b6]{opacity:0}.collapse-transition-enter-to[data-v-7ffec7b6],.collapse-transition-leave-from[data-v-7ffec7b6]{opacity:1}.collapse-transition-enter-active[data-v-7ffec7b6],.collapse-transition-leave-active[data-v-7ffec7b6]{transition:max-height .3s cubic-bezier(.5,.05,.5,.95),opacity .3s cubic-bezier(.5,.05,.5,.95)}div[id^=dmc_mermaid]{position:fixed;top:0;left:0;width:100%;z-index:-9999}.mc-markdown-render[data-v-a40d857a] ul,.mc-markdown-render[data-v-a40d857a] ol{list-style:none;margin:0;padding:0}.mc-markdown-render[data-v-a40d857a] ul{list-style-type:disc;padding-left:16px}.mc-markdown-render[data-v-a40d857a] ol{list-style-type:decimal;padding-inline-start:1.75em}.mc-markdown-render[data-v-a40d857a] p{line-height:28px;margin:0;padding:0;overflow-wrap:break-word}.mc-markdown-render[data-v-a40d857a] h1{font-size:32px;line-height:40px;overflow-wrap:break-word}.mc-markdown-render[data-v-a40d857a] h3{line-height:28px;font-size:20px;overflow-wrap:break-word}.mc-markdown-render[data-v-a40d857a] table{margin-bottom:10px;border-collapse:collapse;display:table}.mc-markdown-render[data-v-a40d857a] td,.mc-markdown-render[data-v-a40d857a] th{padding:5px 10px;border:1px solid var(--devui-dividing-line, #f2f2f3);background-color:var(--devui-base-bg, #ffffff)}.mc-markdown-render[data-v-a40d857a] caption{border:1px dashed var(--devui-line, #d7d8da);border-bottom:0;padding:3px;text-align:center}.mc-markdown-render[data-v-a40d857a] th{border-top:1px solid var(--devui-dividing-line, #f2f2f3);background-color:var(--devui-global-bg, #f6f6f8)}.mc-markdown-render[data-v-a40d857a] td p{margin:0;padding:0}.mc-markdown-render[data-v-a40d857a] .h1,.mc-markdown-render[data-v-a40d857a] .h2,.mc-markdown-render[data-v-a40d857a] .h3,.mc-markdown-render[data-v-a40d857a] .h4,.mc-markdown-render[data-v-a40d857a] .h5,.mc-markdown-render[data-v-a40d857a] .h6,.mc-markdown-render[data-v-a40d857a] h1,.mc-markdown-render[data-v-a40d857a] h2,.mc-markdown-render[data-v-a40d857a] h3,.mc-markdown-render[data-v-a40d857a] h4,.mc-markdown-render[data-v-a40d857a] h5,.mc-markdown-render[data-v-a40d857a] h6{line-height:1.1}.mc-markdown-render[data-v-a40d857a] blockquote{padding:0 8px;margin:0;color:var(--devui-text-weak, #575d6c);border-left:5px solid var(--devui-dividing-line, #f2f2f3)}.mc-markdown-render[data-v-a40d857a] a{color:var(--devui-link, #526ecc);text-decoration:underline;cursor:pointer}.mc-markdown-render[data-v-a40d857a] a:hover{color:var(--devui-link-active, #526ecc)}.mc-markdown-render[data-v-a40d857a] img{max-width:100%}.mc-markdown-render[data-v-a40d857a]{font-size:var(--devui-font-size, 14px);overflow-x:auto}.mc-markdown-render.mc-markdown-render-dark[data-v-a40d857a]{color:#ced1db}.mc-markdown-render.mc-markdown-render-light[data-v-a40d857a]{color:#252b3a}[data-v-a40d857a] .mc-think-block{color:var(--devui-aide-text, #71757f);border-left:1px solid var(--devui-line, #d7d8da);padding-left:8px;margin-bottom:1rem}[data-v-a40d857a] .mc-typewriter-color{background-image:-webkit-linear-gradient(left,#191919,#5588f0,#e171ee,#f2c55c);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-v-a40d857a] .mc-typewriter-gradient{background:linear-gradient(to right,var(--devui-text, #252b3a),var(--devui-base-bg, #ffffff));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-v-a40d857a] .mc-typewriter-cursor{font-weight:900;animation:typewriter-a40d857a .8s linear 0s infinite}@keyframes typewriter-a40d857a{0%{opacity:1}50%{opacity:0}to{opacity:1}}
1
+ .mc-code-block-light[data-v-3a712b93] pre code.hljs{display:block;overflow-x:auto;padding:1em}.mc-code-block-light[data-v-3a712b93] code.hljs{padding:3px 5px}.mc-code-block-light[data-v-3a712b93] .hljs{background:#fefefe;color:#545454}.mc-code-block-light[data-v-3a712b93] .hljs-comment,.mc-code-block-light[data-v-3a712b93] .hljs-quote{color:#696969}.mc-code-block-light[data-v-3a712b93] .hljs-variable,.mc-code-block-light[data-v-3a712b93] .hljs-template-variable,.mc-code-block-light[data-v-3a712b93] .hljs-tag,.mc-code-block-light[data-v-3a712b93] .hljs-name,.mc-code-block-light[data-v-3a712b93] .hljs-selector-id,.mc-code-block-light[data-v-3a712b93] .hljs-selector-class,.mc-code-block-light[data-v-3a712b93] .hljs-regexp,.mc-code-block-light[data-v-3a712b93] .hljs-deletion{color:#d91e18}.mc-code-block-light[data-v-3a712b93] .hljs-number,.mc-code-block-light[data-v-3a712b93] .hljs-built_in,.mc-code-block-light[data-v-3a712b93] .hljs-literal,.mc-code-block-light[data-v-3a712b93] .hljs-type,.mc-code-block-light[data-v-3a712b93] .hljs-params,.mc-code-block-light[data-v-3a712b93] .hljs-meta,.mc-code-block-light[data-v-3a712b93] .hljs-link,.mc-code-block-light[data-v-3a712b93] .hljs-attribute{color:#aa5d00}.mc-code-block-light[data-v-3a712b93] .hljs-string,.mc-code-block-light[data-v-3a712b93] .hljs-symbol,.mc-code-block-light[data-v-3a712b93] .hljs-bullet,.mc-code-block-light[data-v-3a712b93] .hljs-addition{color:green}.mc-code-block-light[data-v-3a712b93] .hljs-title,.mc-code-block-light[data-v-3a712b93] .hljs-section{color:#007faa}.mc-code-block-light[data-v-3a712b93] .hljs-keyword,.mc-code-block-light[data-v-3a712b93] .hljs-selector-tag{color:#7928a1}.mc-code-block-light[data-v-3a712b93] .hljs-emphasis{font-style:italic}.mc-code-block-light[data-v-3a712b93] .hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.mc-code-block-light[data-v-3a712b93] .hljs-addition,.mc-code-block-light[data-v-3a712b93] .hljs-attribute,.mc-code-block-light[data-v-3a712b93] .hljs-built_in,.mc-code-block-light[data-v-3a712b93] .hljs-bullet,.mc-code-block-light[data-v-3a712b93] .hljs-comment,.mc-code-block-light[data-v-3a712b93] .hljs-link,.mc-code-block-light[data-v-3a712b93] .hljs-literal,.mc-code-block-light[data-v-3a712b93] .hljs-meta,.mc-code-block-light[data-v-3a712b93] .hljs-number,.mc-code-block-light[data-v-3a712b93] .hljs-params,.mc-code-block-light[data-v-3a712b93] .hljs-string,.mc-code-block-light[data-v-3a712b93] .hljs-symbol,.mc-code-block-light[data-v-3a712b93] .hljs-type,.mc-code-block-light[data-v-3a712b93] .hljs-quote{color:highlight}.mc-code-block-light[data-v-3a712b93] .hljs-keyword,.mc-code-block-light[data-v-3a712b93] .hljs-selector-tag{font-weight:700}}.mc-code-block-dark[data-v-3a712b93] pre code.hljs{display:block;overflow-x:auto;padding:1em}.mc-code-block-dark[data-v-3a712b93] code.hljs{padding:3px 5px}.mc-code-block-dark[data-v-3a712b93] .hljs{background:#2b2b2b;color:#f8f8f2}.mc-code-block-dark[data-v-3a712b93] .hljs-comment,.mc-code-block-dark[data-v-3a712b93] .hljs-quote{color:#d4d0ab}.mc-code-block-dark[data-v-3a712b93] .hljs-variable,.mc-code-block-dark[data-v-3a712b93] .hljs-template-variable,.mc-code-block-dark[data-v-3a712b93] .hljs-tag,.mc-code-block-dark[data-v-3a712b93] .hljs-name,.mc-code-block-dark[data-v-3a712b93] .hljs-selector-id,.mc-code-block-dark[data-v-3a712b93] .hljs-selector-class,.mc-code-block-dark[data-v-3a712b93] .hljs-regexp,.mc-code-block-dark[data-v-3a712b93] .hljs-deletion{color:#ffa07a}.mc-code-block-dark[data-v-3a712b93] .hljs-number,.mc-code-block-dark[data-v-3a712b93] .hljs-built_in,.mc-code-block-dark[data-v-3a712b93] .hljs-literal,.mc-code-block-dark[data-v-3a712b93] .hljs-type,.mc-code-block-dark[data-v-3a712b93] .hljs-params,.mc-code-block-dark[data-v-3a712b93] .hljs-meta,.mc-code-block-dark[data-v-3a712b93] .hljs-link{color:#f5ab35}.mc-code-block-dark[data-v-3a712b93] .hljs-attribute{color:gold}.mc-code-block-dark[data-v-3a712b93] .hljs-string,.mc-code-block-dark[data-v-3a712b93] .hljs-symbol,.mc-code-block-dark[data-v-3a712b93] .hljs-bullet,.mc-code-block-dark[data-v-3a712b93] .hljs-addition{color:#abe338}.mc-code-block-dark[data-v-3a712b93] .hljs-title,.mc-code-block-dark[data-v-3a712b93] .hljs-section{color:#00e0e0}.mc-code-block-dark[data-v-3a712b93] .hljs-keyword,.mc-code-block-dark[data-v-3a712b93] .hljs-selector-tag{color:#dcc6e0}.mc-code-block-dark[data-v-3a712b93] .hljs-emphasis{font-style:italic}.mc-code-block-dark[data-v-3a712b93] .hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.mc-code-block-dark[data-v-3a712b93] .hljs-addition,.mc-code-block-dark[data-v-3a712b93] .hljs-attribute,.mc-code-block-dark[data-v-3a712b93] .hljs-built_in,.mc-code-block-dark[data-v-3a712b93] .hljs-bullet,.mc-code-block-dark[data-v-3a712b93] .hljs-comment,.mc-code-block-dark[data-v-3a712b93] .hljs-link,.mc-code-block-dark[data-v-3a712b93] .hljs-literal,.mc-code-block-dark[data-v-3a712b93] .hljs-meta,.mc-code-block-dark[data-v-3a712b93] .hljs-number,.mc-code-block-dark[data-v-3a712b93] .hljs-params,.mc-code-block-dark[data-v-3a712b93] .hljs-string,.mc-code-block-dark[data-v-3a712b93] .hljs-symbol,.mc-code-block-dark[data-v-3a712b93] .hljs-type,.mc-code-block-dark[data-v-3a712b93] .hljs-quote{color:highlight}.mc-code-block-dark[data-v-3a712b93] .hljs-keyword,.mc-code-block-dark[data-v-3a712b93] .hljs-selector-tag{font-weight:700}}.v-enter-active[data-v-3a712b93],.v-leave-active[data-v-3a712b93]{transition:opacity .5s ease}.v-enter-from[data-v-3a712b93],.v-leave-to[data-v-3a712b93]{opacity:0}.mc-code-block[data-v-3a712b93]{margin:1rem 0;overflow:hidden;border-radius:14px}.mc-code-block pre[data-v-3a712b93]{margin:0}.mc-code-block .mc-action-btn[data-v-3a712b93]{width:24px;height:24px}.mc-code-block .mc-code-block-header[data-v-3a712b93]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem}.mc-code-block .mc-code-block-header .mc-code-lang[data-v-3a712b93]{font-size:var(--devui-font-size, 14px)}.mc-code-block .mc-mermaid-content[data-v-3a712b93]{position:relative;width:100%;height:400px;overflow:hidden;background:inherit}.mc-code-block .mc-code-block-actions[data-v-3a712b93]{display:flex;align-items:center}.mc-code-block .mc-code-block-actions .mc-copy-btn[data-v-3a712b93],.mc-code-block .mc-code-block-actions .mc-toggle-btn[data-v-3a712b93]{cursor:pointer;border-radius:4px;font-size:18px;padding:4px}.mc-code-block .mc-diagram-switch[data-v-3a712b93]{display:flex;align-items:center;list-style:none;margin:0;padding:2px;border-radius:4px;background-color:var(--devui-icon-hover-bg);position:relative;transition:all .3s ease;overflow:hidden;height:24px}.mc-code-block .mc-diagram-switch[data-v-3a712b93]:before{content:"";position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background-color:var(--devui-base-bg, #ffffff);border-radius:4px;transition:transform .3s ease;box-shadow:0 1px 2px var(--devui-hover-shadow);z-index:1}.mc-code-block .mc-diagram-switch.mc-show-code[data-v-3a712b93]:before{transform:translate(100%)}.mc-code-block .mc-diagram-switch .mc-diagram-switch-active[data-v-3a712b93]{text-shadow:0 0 .4px var(--devui-text)}.mc-code-block .mc-diagram-switch li[data-v-3a712b93]{position:relative;padding:0 8px;font-size:12px;cursor:pointer;transition:color .3s ease;z-index:2;-webkit-user-select:none;user-select:none;width:50%;text-align:center;margin:0;display:flex;align-items:center;justify-content:center;height:100%;line-height:initial}.mc-code-block-light[data-v-3a712b93]{border:1px solid #d7d8da;background-color:#f5f5f5}.mc-code-block-light code.hljs[data-v-3a712b93]{padding:1em}.mc-code-block-light .mc-code-lang[data-v-3a712b93],.mc-code-block-light .mc-code-block-actions .mc-copy-btn[data-v-3a712b93],.mc-code-block-light .mc-code-block-actions .mc-toggle-btn[data-v-3a712b93]{color:#252b3a}.mc-code-block-light .mc-code-block-actions .mc-copy-btn[data-v-3a712b93]:hover,.mc-code-block-light .mc-code-block-actions .mc-toggle-btn[data-v-3a712b93]:hover{background-color:#ebebeb}.mc-code-block-light .mc-mermaid-content[data-v-3a712b93]{background:#fefefe}.mc-code-block-dark[data-v-3a712b93]{border:1px solid #4e5057;background-color:#34363a}.mc-code-block-dark code.hljs[data-v-3a712b93]{padding:1em}.mc-code-block-dark .mc-code-lang[data-v-3a712b93],.mc-code-block-dark .mc-code-block-actions .mc-copy-btn[data-v-3a712b93],.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn[data-v-3a712b93]{color:#ced1db}.mc-code-block-dark .mc-code-block-actions .mc-copy-btn[data-v-3a712b93]:hover,.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn[data-v-3a712b93]:hover{background-color:#393a3e}.mc-code-block-dark .mc-code-block-actions .mc-copy-btn img[data-v-3a712b93],.mc-code-block-dark .mc-code-block-actions .mc-toggle-btn img[data-v-3a712b93]{filter:brightness(1.5)}.mc-code-block-dark .mc-mermaid-content[data-v-3a712b93]{background:#2b2b2b}.collapse-transition-enter-from[data-v-3a712b93],.collapse-transition-leave-to[data-v-3a712b93]{opacity:0}.collapse-transition-enter-to[data-v-3a712b93],.collapse-transition-leave-from[data-v-3a712b93]{opacity:1}.collapse-transition-enter-active[data-v-3a712b93],.collapse-transition-leave-active[data-v-3a712b93]{transition:max-height .3s cubic-bezier(.5,.05,.5,.95),opacity .3s cubic-bezier(.5,.05,.5,.95)}div[id^=dmc_mermaid]{position:fixed;top:0;left:0;width:100%;z-index:-9999}.mc-markdown-render[data-v-d14b3723] ul,.mc-markdown-render[data-v-d14b3723] ol{list-style:none;margin:0;padding:0}.mc-markdown-render[data-v-d14b3723] ul{list-style-type:disc;padding-left:16px}.mc-markdown-render[data-v-d14b3723] ol{list-style-type:decimal;padding-inline-start:1.75em}.mc-markdown-render[data-v-d14b3723] p{line-height:28px;margin:0;padding:0;overflow-wrap:break-word}.mc-markdown-render[data-v-d14b3723] h1{font-size:32px;line-height:40px;overflow-wrap:break-word}.mc-markdown-render[data-v-d14b3723] h3{line-height:28px;font-size:20px;overflow-wrap:break-word}.mc-markdown-render[data-v-d14b3723] table{margin-bottom:10px;border-collapse:collapse;display:table}.mc-markdown-render[data-v-d14b3723] td,.mc-markdown-render[data-v-d14b3723] th{padding:5px 10px;border:1px solid var(--devui-dividing-line, #f2f2f3);background-color:var(--devui-base-bg, #ffffff)}.mc-markdown-render[data-v-d14b3723] caption{border:1px dashed var(--devui-line, #d7d8da);border-bottom:0;padding:3px;text-align:center}.mc-markdown-render[data-v-d14b3723] th{border-top:1px solid var(--devui-dividing-line, #f2f2f3);background-color:var(--devui-global-bg, #f6f6f8)}.mc-markdown-render[data-v-d14b3723] td p{margin:0;padding:0}.mc-markdown-render[data-v-d14b3723] .h1,.mc-markdown-render[data-v-d14b3723] .h2,.mc-markdown-render[data-v-d14b3723] .h3,.mc-markdown-render[data-v-d14b3723] .h4,.mc-markdown-render[data-v-d14b3723] .h5,.mc-markdown-render[data-v-d14b3723] .h6,.mc-markdown-render[data-v-d14b3723] h1,.mc-markdown-render[data-v-d14b3723] h2,.mc-markdown-render[data-v-d14b3723] h3,.mc-markdown-render[data-v-d14b3723] h4,.mc-markdown-render[data-v-d14b3723] h5,.mc-markdown-render[data-v-d14b3723] h6{line-height:1.1}.mc-markdown-render[data-v-d14b3723] blockquote{padding:0 8px;margin:0;color:var(--devui-text-weak, #575d6c);border-left:5px solid var(--devui-dividing-line, #f2f2f3)}.mc-markdown-render[data-v-d14b3723] a{color:var(--devui-link, #526ecc);text-decoration:underline;cursor:pointer}.mc-markdown-render[data-v-d14b3723] a:hover{color:var(--devui-link-active, #526ecc)}.mc-markdown-render[data-v-d14b3723] img{max-width:100%}.mc-markdown-render[data-v-d14b3723]{font-size:var(--devui-font-size, 14px);overflow-x:auto}.mc-markdown-render.mc-markdown-render-dark[data-v-d14b3723]{color:#ced1db}.mc-markdown-render.mc-markdown-render-light[data-v-d14b3723]{color:#252b3a}[data-v-d14b3723] .mc-think-block{color:var(--devui-aide-text, #71757f);border-left:1px solid var(--devui-line, #d7d8da);padding-left:8px;margin-bottom:1rem}[data-v-d14b3723] .mc-typewriter-color{background-image:-webkit-linear-gradient(left,#191919,#5588f0,#e171ee,#f2c55c);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-v-d14b3723] .mc-typewriter-gradient{background:linear-gradient(to right,var(--devui-text, #252b3a),var(--devui-base-bg, #ffffff));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-v-d14b3723] .mc-typewriter-cursor{font-weight:900;animation:typewriter-d14b3723 .8s linear 0s infinite}@keyframes typewriter-d14b3723{0%{opacity:1}50%{opacity:0}to{opacity:1}}