@opentiny/tiny-robot 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { defineComponent as $, useSlots as H, computed as i, ref as f, watch as I, nextTick as W, createElementBlock as _, openBlock as o, createBlock as v, createCommentVNode as N, Fragment as R, renderList as G, unref as h, withCtx as S, createElementVNode as w, resolveDynamicComponent as x, renderSlot as L, createVNode as E, Transition as j, withDirectives as q, normalizeClass as J, withModifiers as K, toDisplayString as Q, vShow as U } from "vue";
1
+ import { defineComponent as $, useSlots as H, computed as i, ref as f, watch as I, nextTick as W, openBlock as o, createElementBlock as _, Fragment as N, renderList as R, createBlock as v, unref as h, withCtx as S, createElementVNode as w, resolveDynamicComponent as G, renderSlot as L, createVNode as x, Transition as j, withDirectives as q, normalizeClass as J, withModifiers as K, createCommentVNode as E, toDisplayString as Q, vShow as U } from "vue";
2
2
  import { IconMenu as Y } from "@opentiny/tiny-robot-svgs";
3
3
  import { TinyTooltip as M } from "@opentiny/vue";
4
4
  import { o as Z, d as ee } from "../index4.js";
@@ -45,7 +45,7 @@ const ne = { class: "tr-action-group" }, re = ["onClick"], le = ["onClick"], ae
45
45
  }), I(D, () => {
46
46
  n.value && T();
47
47
  }), (e, a) => (o(), _("div", ne, [
48
- (o(!0), _(R, null, G(V.value, (t, C) => {
48
+ (o(!0), _(N, null, R(V.value, (t, C) => {
49
49
  var c;
50
50
  return o(), v(h(M), {
51
51
  key: C,
@@ -63,7 +63,7 @@ const ne = { class: "tr-action-group" }, re = ["onClick"], le = ["onClick"], ae
63
63
  return A((s = t.props) == null ? void 0 : s.name);
64
64
  }
65
65
  }, [
66
- (o(), v(x(t)))
66
+ (o(), v(G(t)))
67
67
  ], 8, re)
68
68
  ]),
69
69
  _: 2
@@ -85,16 +85,16 @@ const ne = { class: "tr-action-group" }, re = ["onClick"], le = ["onClick"], ae
85
85
  onClick: P
86
86
  }, [
87
87
  L(e.$slots, "moreBtn", {}, () => [
88
- E(h(te), { icon: h(Y) }, null, 8, ["icon"])
88
+ x(h(te), { icon: h(Y) }, null, 8, ["icon"])
89
89
  ], !0),
90
- E(j, { name: "tr-action-group-dropdown" }, {
90
+ x(j, { name: "tr-action-group-dropdown" }, {
91
91
  default: S(() => [
92
92
  q(w("ul", {
93
93
  ref_key: "dropDownRef",
94
94
  ref: d,
95
95
  class: J(["tr-action-group__dropdown", B.value])
96
96
  }, [
97
- (o(!0), _(R, null, G(z.value, (t, C) => {
97
+ (o(!0), _(N, null, R(z.value, (t, C) => {
98
98
  var c;
99
99
  return o(), _("li", {
100
100
  class: "tr-action-group__dropdown-item",
@@ -104,7 +104,7 @@ const ne = { class: "tr-action-group" }, re = ["onClick"], le = ["onClick"], ae
104
104
  return A((s = t.props) == null ? void 0 : s.name);
105
105
  }, ["stop"])
106
106
  }, [
107
- l.dropDownShowLabelOnly ? N("", !0) : (o(), v(x(t), { key: 0 })),
107
+ l.dropDownShowLabelOnly ? E("", !0) : (o(), v(G(t), { key: 0 })),
108
108
  w("span", ae, Q((c = t.props) == null ? void 0 : c.label), 1)
109
109
  ], 8, le);
110
110
  }), 128))
@@ -117,7 +117,7 @@ const ne = { class: "tr-action-group" }, re = ["onClick"], le = ["onClick"], ae
117
117
  ], 512)
118
118
  ]),
119
119
  _: 3
120
- }, 8, ["disabled"])) : N("", !0)
120
+ }, 8, ["disabled"])) : E("", !0)
121
121
  ]));
122
122
  }
123
123
  }), g = /* @__PURE__ */ oe(ce, [["__scopeId", "data-v-f0173895"]]), u = /* @__PURE__ */ $({
@@ -1,4 +1,4 @@
1
- import { computed as C, ref as R, onUnmounted as Y, defineComponent as B, mergeModels as W, useModel as Z, createElementBlock as c, openBlock as s, withModifiers as P, createElementVNode as m, createVNode as x, unref as f, Fragment as z, renderList as D, normalizeClass as U, h as ee, createCommentVNode as k, createBlock as L, toDisplayString as F, withCtx as te, resolveDynamicComponent as O, watch as ne } from "vue";
1
+ import { computed as C, ref as R, onUnmounted as Y, defineComponent as B, useModel as Z, openBlock as s, createElementBlock as c, withModifiers as P, createElementVNode as m, createVNode as x, unref as f, Fragment as z, renderList as D, normalizeClass as U, mergeModels as W, h as ee, createCommentVNode as k, toDisplayString as F, createBlock as L, withCtx as te, resolveDynamicComponent as O, watch as ne } from "vue";
2
2
  import { IconFileOther as ae, IconFileFolder as V, IconFilePpt as q, IconFileExcel as K, IconFileWord as G, IconFilePdf as H, IconFileImage as J, IconClose as re, IconArrowLeft as se, IconArrowRight as ie, IconFileRemove as oe, IconImageLoading as j, IconImageWarning as E } from "@opentiny/tiny-robot-svgs";
3
3
  import { _ as S } from "../_plugin-vue_export-helper.js";
4
4
  import { TinyTooltip as le } from "@opentiny/vue";
@@ -1,4 +1,4 @@
1
- import { B as r, d as a, a as s, c as n, b as l } from "../index2.js";
1
+ import { B as r, c as a, a as s, d as n, b as l } from "../index2.js";
2
2
  export {
3
3
  r as Bubble,
4
4
  a as BubbleContentClassRenderer,
@@ -1,10 +1,10 @@
1
- import { defineComponent as g, mergeModels as c, useModel as u, computed as w, withDirectives as C, createElementBlock as B, openBlock as S, normalizeClass as y, createElementVNode as e, renderSlot as l, toDisplayString as I, createVNode as d, unref as i, vShow as z } from "vue";
1
+ import { defineComponent as g, useModel as c, computed as w, withDirectives as C, openBlock as B, createElementBlock as S, normalizeClass as y, createElementVNode as e, renderSlot as l, toDisplayString as I, createVNode as u, unref as i, vShow as z, mergeModels as d } from "vue";
2
2
  import { IconCancelFullScreen as $, IconFullScreen as k, IconClose as M } from "@opentiny/tiny-robot-svgs";
3
3
  import f from "../icon-button/index.js";
4
4
  import { _ as b } from "../_plugin-vue_export-helper.js";
5
5
  const E = { class: "tr-container__header" }, F = { class: "tr-container__title" }, N = { class: "tr-container__header-operations" }, T = { class: "tr-container__footer" }, D = /* @__PURE__ */ g({
6
6
  __name: "index",
7
- props: /* @__PURE__ */ c({
7
+ props: /* @__PURE__ */ d({
8
8
  show: { type: Boolean },
9
9
  fullscreen: { type: Boolean },
10
10
  title: { default: "OpenTiny NEXT" }
@@ -14,12 +14,12 @@ const E = { class: "tr-container__header" }, F = { class: "tr-container__title"
14
14
  fullscreen: { type: Boolean },
15
15
  fullscreenModifiers: {}
16
16
  }),
17
- emits: /* @__PURE__ */ c(["close"], ["update:show", "update:fullscreen"]),
17
+ emits: /* @__PURE__ */ d(["close"], ["update:show", "update:fullscreen"]),
18
18
  setup(o, { emit: p }) {
19
- const m = o, a = u(o, "show"), t = u(o, "fullscreen"), v = w(() => t.value ? $ : k), _ = p, h = () => {
19
+ const m = o, a = c(o, "show"), t = c(o, "fullscreen"), v = w(() => t.value ? $ : k), _ = p, h = () => {
20
20
  a.value = !1, _("close");
21
21
  };
22
- return (n, s) => C((S(), B("div", {
22
+ return (n, s) => C((B(), S("div", {
23
23
  class: y(["tr-container", { fullscreen: t.value }])
24
24
  }, [
25
25
  s[1] || (s[1] = e("div", { class: "tr-container__dragging-bar-wrapper" }, [
@@ -31,13 +31,13 @@ const E = { class: "tr-container__header" }, F = { class: "tr-container__title"
31
31
  ], !0),
32
32
  e("div", N, [
33
33
  l(n.$slots, "operations", {}, void 0, !0),
34
- d(i(f), {
34
+ u(i(f), {
35
35
  size: "28",
36
36
  "svg-size": "20",
37
37
  icon: v.value,
38
38
  onClick: s[0] || (s[0] = (q) => t.value = !t.value)
39
39
  }, null, 8, ["icon"]),
40
- d(i(f), {
40
+ u(i(f), {
41
41
  size: "28",
42
42
  "svg-size": "20",
43
43
  icon: i(M),
@@ -1,4 +1,4 @@
1
- import { defineComponent as v, computed as y, createBlock as u, openBlock as t, Transition as F, withCtx as m, createElementBlock as a, createCommentVNode as h, normalizeStyle as x, normalizeClass as _, renderSlot as w, createElementVNode as l, toDisplayString as n, Fragment as D, renderList as B } from "vue";
1
+ import { defineComponent as v, computed as y, openBlock as t, createBlock as u, Transition as F, withCtx as m, createElementBlock as a, normalizeStyle as h, normalizeClass as x, renderSlot as _, createElementVNode as l, toDisplayString as n, Fragment as w, renderList as D, createCommentVNode as B } from "vue";
2
2
  import { c as M } from "../index4.js";
3
3
  import { _ as Z } from "../_plugin-vue_export-helper.js";
4
4
  const k = "data:image/svg+xml,%3csvg%20width='80.000000'%20height='80.000000'%20viewBox='0%200%2080%2080'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs/%3e%3crect%20width='80.000000'%20height='80.000000'%20fill='%23FFFFFF'%20fill-opacity='0'/%3e%3cpath%20d='M10%2014L70%2014C72.2%2014%2074%2015.79%2074%2018L74%2063C74%2065.2%2072.2%2067%2070%2067L10%2067C7.79%2067%206%2065.2%206%2063L6%2018C6%2015.79%207.79%2014%2010%2014Z'%20fill='%23FFFFFF'%20fill-opacity='1.000000'%20fill-rule='evenodd'/%3e%3cpath%20d='M10%2014L70%2014C72.2%2014%2074%2015.79%2074%2018L74%2063C74%2065.2%2072.2%2067%2070%2067L10%2067C7.79%2067%206%2065.2%206%2063L6%2018C6%2015.79%207.79%2014%2010%2014ZM10%2015L70%2015C71%2015%2071.75%2015.25%2072.25%2015.75C72.75%2016.25%2073%2017%2073%2018L73%2063C73%2064%2072.75%2064.75%2072.25%2065.25C71.75%2065.75%2071%2066%2070%2066L10%2066C9%2066%208.25%2065.75%207.75%2065.25C7.25%2064.75%207%2064%207%2063L7%2018C7%2017%207.25%2016.25%207.75%2015.75C8.25%2015.25%209%2015%2010%2015Z'%20fill='%23808080'%20fill-opacity='1.000000'%20fill-rule='evenodd'/%3e%3cpath%20d='M6%2047.27L24.56%2029.06C25.73%2027.91%2027.6%2027.91%2028.77%2029.06L44.52%2044.51C45.69%2045.66%2047.56%2045.66%2048.72%2044.51L56.64%2036.75C57.8%2035.6%2059.67%2035.6%2060.84%2036.75L74%2049.67L74%2062C74%2064.76%2071.76%2067%2069%2067L11%2067C8.23%2067%206%2064.76%206%2062L6%2047.27Z'%20fill='%23F0F0F0'%20fill-opacity='1.000000'%20fill-rule='evenodd'/%3e%3cpath%20d=''%20fill='%23808080'%20fill-opacity='0'%20fill-rule='evenodd'/%3e%3cellipse%20cx='40.000000'%20cy='40.000000'%20rx='8.000001'%20ry='8.000002'%20fill='%231476FF'%20fill-opacity='1.000000'/%3e%3cpath%20d='M40%2035.5C40.27%2035.5%2040.5%2035.72%2040.5%2036L40.5%2039.49L44%2039.5C44.27%2039.5%2044.5%2039.72%2044.5%2040C44.5%2040.27%2044.27%2040.5%2044%2040.5L40.5%2040.5L40.5%2044C40.5%2044.27%2040.27%2044.5%2040%2044.5C39.72%2044.5%2039.5%2044.27%2039.5%2044L39.5%2040.5L36%2040.5C35.72%2040.5%2035.5%2040.27%2035.5%2040C35.5%2039.72%2035.72%2039.5%2036%2039.5L39.5%2039.5L39.5%2036C39.5%2035.72%2039.72%2035.5%2040%2035.5Z'%20fill='%23FFFFFF'%20fill-opacity='1.000000'%20fill-rule='evenodd'/%3e%3cpath%20d='M10%2014L70%2014C72.2%2014%2074%2015.79%2074%2018L74%2063C74%2065.2%2072.2%2067%2070%2067L10%2067C7.79%2067%206%2065.2%206%2063L6%2018C6%2015.79%207.79%2014%2010%2014Z'%20fill='%23FFFFFF'%20fill-opacity='0'%20fill-rule='evenodd'/%3e%3cpath%20d='M10%2014L70%2014C72.2%2014%2074%2015.79%2074%2018L74%2063C74%2065.2%2072.2%2067%2070%2067L10%2067C7.79%2067%206%2065.2%206%2063L6%2018C6%2015.79%207.79%2014%2010%2014ZM10%2015L70%2015C71%2015%2071.75%2015.25%2072.25%2015.75C72.75%2016.25%2073%2017%2073%2018L73%2063C73%2064%2072.75%2064.75%2072.25%2065.25C71.75%2065.75%2071%2066%2070%2066L10%2066C9%2066%208.25%2065.75%207.75%2065.25C7.25%2064.75%207%2064%207%2063L7%2018C7%2017%207.25%2016.25%207.75%2015.75C8.25%2015.25%209%2015%2010%2015Z'%20fill='%23808080'%20fill-opacity='1.000000'%20fill-rule='evenodd'/%3e%3ccircle%20cx='58.000000'%20cy='27.000000'%20r='5.000000'%20fill='%23DBDBDB'%20fill-opacity='1.000000'/%3e%3c/svg%3e", T = { class: "tr-drag-overlay__content" }, $ = { class: "tr-drag-overlay__text" }, S = { class: "tr-drag-overlay__title" }, E = { class: "tr-drag-overlay__description" }, z = /* @__PURE__ */ v({
@@ -22,10 +22,10 @@ const k = "data:image/svg+xml,%3csvg%20width='80.000000'%20height='80.000000'%20
22
22
  default: m(() => [
23
23
  e.isDragging ? (t(), a("div", {
24
24
  key: 0,
25
- class: _(["tr-drag-overlay", { fullscreen: e.fullscreen }]),
26
- style: x(f.value)
25
+ class: x(["tr-drag-overlay", { fullscreen: e.fullscreen }]),
26
+ style: h(f.value)
27
27
  }, [
28
- w(g.$slots, "overlay", { isDragging: e.isDragging }, () => [
28
+ _(g.$slots, "overlay", { isDragging: e.isDragging }, () => [
29
29
  l("div", T, [
30
30
  o[0] || (o[0] = l("div", { class: "tr-drag-overlay__icon" }, [
31
31
  l("img", {
@@ -36,12 +36,12 @@ const k = "data:image/svg+xml,%3csvg%20width='80.000000'%20height='80.000000'%20
36
36
  l("div", $, [
37
37
  l("div", S, n(e.overlayTitle), 1),
38
38
  l("div", E, [
39
- (t(!0), a(D, null, B(e.overlayDescription, (p, L) => (t(), a("span", { key: L }, n(p), 1))), 128))
39
+ (t(!0), a(w, null, D(e.overlayDescription, (p, L) => (t(), a("span", { key: L }, n(p), 1))), 128))
40
40
  ])
41
41
  ])
42
42
  ])
43
43
  ], !0)
44
- ], 6)) : h("", !0)
44
+ ], 6)) : B("", !0)
45
45
  ]),
46
46
  _: 3
47
47
  }));
@@ -1,5 +1,5 @@
1
- import { ref as k, onUnmounted as T, watch as C, defineComponent as E, mergeModels as y, useModel as H, computed as p, createBlock as I, openBlock as w, unref as X, withCtx as _, createElementVNode as j, createElementBlock as M, Fragment as D, renderList as L, toDisplayString as Y, renderSlot as O } from "vue";
2
- import { w as S, a as b, o as $ } from "../index4.js";
1
+ import { ref as k, onUnmounted as T, watch as C, defineComponent as E, useModel as H, computed as p, openBlock as w, createBlock as I, unref as X, withCtx as y, createElementVNode as j, createElementBlock as _, Fragment as D, renderList as L, toDisplayString as Y, renderSlot as O, mergeModels as b } from "vue";
2
+ import { w as S, b as M, o as $ } from "../index4.js";
3
3
  import { B as A } from "../index5.js";
4
4
  import { u as F } from "../utils.js";
5
5
  import { _ as G } from "../_plugin-vue_export-helper.js";
@@ -55,7 +55,7 @@ const P = (o, t) => o.x >= t.left && o.x <= t.right && o.y >= t.top && o.y <= t.
55
55
  ), S(
56
56
  [V, q],
57
57
  ([n, i]) => {
58
- const e = b(o), m = b(t), u = e == null ? void 0 : e.getBoundingClientRect(), h = m == null ? void 0 : m.getBoundingClientRect();
58
+ const e = M(o), m = M(t), u = e == null ? void 0 : e.getBoundingClientRect(), h = m == null ? void 0 : m.getBoundingClientRect();
59
59
  if (u && P({ x: n, y: i }, u)) {
60
60
  r.value = "trigger";
61
61
  return;
@@ -74,7 +74,7 @@ const P = (o, t) => o.x >= t.left && o.x <= t.right && o.y >= t.top && o.y <= t.
74
74
  ), f;
75
75
  }, J = { class: "tr-dropdown-menu__list" }, K = ["onClick"], Q = /* @__PURE__ */ E({
76
76
  __name: "index",
77
- props: /* @__PURE__ */ y({
77
+ props: /* @__PURE__ */ b({
78
78
  appendTo: {},
79
79
  items: {},
80
80
  show: { type: Boolean },
@@ -83,7 +83,7 @@ const P = (o, t) => o.x >= t.left && o.x <= t.right && o.y >= t.top && o.y <= t.
83
83
  show: { type: Boolean, default: !1 },
84
84
  showModifiers: {}
85
85
  }),
86
- emits: /* @__PURE__ */ y(["item-click", "click-outside"], ["update:show"]),
86
+ emits: /* @__PURE__ */ b(["item-click", "click-outside"], ["update:show"]),
87
87
  setup(o, { expose: t, emit: g }) {
88
88
  const l = o, d = g, f = H(o, "show"), r = p({
89
89
  get: () => l.trigger === "manual" ? l.show : f.value,
@@ -133,12 +133,12 @@ const P = (o, t) => o.x >= t.left && o.x <= t.right && o.y >= t.top && o.y <= t.
133
133
  "prevent-overflow": !0,
134
134
  "trigger-events": { onClick: n }
135
135
  }, {
136
- trigger: _(() => [
136
+ trigger: y(() => [
137
137
  O(e.$slots, "trigger", {}, void 0, !0)
138
138
  ]),
139
- content: _(() => [
139
+ content: y(() => [
140
140
  j("ul", J, [
141
- (w(!0), M(D, null, L(l.items, (u) => (w(), M("li", {
141
+ (w(!0), _(D, null, L(l.items, (u) => (w(), _("li", {
142
142
  class: "tr-dropdown-menu__list-item",
143
143
  key: u.id,
144
144
  onClick: (h) => i(u)
@@ -1,4 +1,4 @@
1
- import { defineComponent as V, ref as g, computed as P, onMounted as z, watch as O, createElementBlock as r, openBlock as t, createCommentVNode as k, Fragment as A, renderList as w, toDisplayString as y, createVNode as b, unref as l, nextTick as q, createElementVNode as d, createBlock as _, withCtx as f, createTextVNode as U, resolveDynamicComponent as x } from "vue";
1
+ import { defineComponent as V, ref as g, computed as P, onMounted as z, watch as O, openBlock as t, createElementBlock as r, Fragment as A, renderList as w, toDisplayString as y, createCommentVNode as k, createVNode as b, unref as l, nextTick as q, createElementVNode as d, createBlock as _, withCtx as f, createTextVNode as U, resolveDynamicComponent as x } from "vue";
2
2
  import { IconArrowUp as T, IconArrowDown as N, IconDislike as j, IconLike as H, IconRefresh as J, IconCopy as K } from "@opentiny/tiny-robot-svgs";
3
3
  import { TinyButton as G } from "@opentiny/vue";
4
4
  import $, { ActionGroupItem as D } from "../action-group/index.js";
@@ -1,4 +1,4 @@
1
- import { defineComponent as q, mergeModels as E, useModel as G, watch as g, ref as i, computed as $, createElementBlock as a, openBlock as l, createElementVNode as I, Fragment as C, renderList as D, createCommentVNode as _, normalizeClass as x, createBlock as B, resolveDynamicComponent as b, toDisplayString as S, nextTick as H } from "vue";
1
+ import { defineComponent as q, useModel as G, watch as g, ref as i, computed as E, openBlock as l, createElementBlock as a, Fragment as I, renderList as $, normalizeClass as C, createBlock as x, resolveDynamicComponent as B, toDisplayString as D, createCommentVNode as _, createElementVNode as b, mergeModels as S, nextTick as H } from "vue";
2
2
  import { IconArrowDown as X } from "@opentiny/tiny-robot-svgs";
3
3
  import { e as j, o as J } from "../index4.js";
4
4
  import { _ as K } from "../_plugin-vue_export-helper.js";
@@ -7,7 +7,7 @@ const P = ["onClick"], Q = {
7
7
  class: "tr-flow-layout__item-label"
8
8
  }, U = { class: "tr-flow-layout__dropdown-wrapper" }, Y = ["onClick"], Z = { class: "tr-flow-layout__item-label" }, ee = /* @__PURE__ */ q({
9
9
  __name: "index",
10
- props: /* @__PURE__ */ E({
10
+ props: /* @__PURE__ */ S({
11
11
  items: {},
12
12
  selected: {},
13
13
  linesLimit: { default: Number.MAX_SAFE_INTEGER },
@@ -17,7 +17,7 @@ const P = ["onClick"], Q = {
17
17
  selected: {},
18
18
  selectedModifiers: {}
19
19
  }),
20
- emits: /* @__PURE__ */ E(["item-click"], ["update:selected"]),
20
+ emits: /* @__PURE__ */ S(["item-click"], ["update:selected"]),
21
21
  setup(d, { emit: A }) {
22
22
  const n = d, u = G(d, "selected");
23
23
  g(
@@ -47,7 +47,7 @@ const P = ["onClick"], Q = {
47
47
  g(W, (t) => {
48
48
  t > 0 && L();
49
49
  });
50
- const z = $(() => s.value !== null ? n.items.slice(s.value) : []), O = $(() => s.value === null ? !1 : n.items.findIndex((o) => o.id === u.value) >= s.value), R = (t) => {
50
+ const z = E(() => s.value !== null ? n.items.slice(s.value) : []), O = E(() => s.value === null ? !1 : n.items.findIndex((o) => o.id === u.value) >= s.value), R = (t) => {
51
51
  u.value = t, c.value = !1, F("item-click", t);
52
52
  }, V = () => {
53
53
  n.showMoreTrigger === "click" && (c.value = !c.value);
@@ -65,33 +65,33 @@ const P = ["onClick"], Q = {
65
65
  ref_key: "containerRef",
66
66
  ref: w
67
67
  }, [
68
- (l(!0), a(C, null, D(n.items, (e, f) => (l(), a(C, {
68
+ (l(!0), a(I, null, $(n.items, (e, f) => (l(), a(I, {
69
69
  key: e.id
70
70
  }, [
71
71
  s.value === null || f < s.value ? (l(), a("button", {
72
72
  key: 0,
73
- class: x(["tr-flow-layout__item", { "icon-only": !e.label }, { selected: e.id === u.value }]),
73
+ class: C(["tr-flow-layout__item", { "icon-only": !e.label }, { selected: e.id === u.value }]),
74
74
  ref_for: !0,
75
75
  ref: (r) => N(r, f),
76
76
  onClick: (r) => R(e.id)
77
77
  }, [
78
- (l(), B(b(e.icon), { class: "tr-flow-layout__item-icon" })),
79
- e.label ? (l(), a("span", Q, S(e.label), 1)) : _("", !0)
78
+ (l(), x(B(e.icon), { class: "tr-flow-layout__item-icon" })),
79
+ e.label ? (l(), a("span", Q, D(e.label), 1)) : _("", !0)
80
80
  ], 10, P)) : _("", !0)
81
81
  ], 64))), 128)),
82
- I("div", U, [
82
+ b("div", U, [
83
83
  m.value ? _("", !0) : (l(), a("button", {
84
84
  key: 0,
85
- class: x(["tr-flow-layout__item", "icon-only", { selected: O.value }]),
85
+ class: C(["tr-flow-layout__item", "icon-only", { selected: O.value }]),
86
86
  ref_key: "moreButtonRef",
87
87
  ref: y,
88
88
  onClick: V,
89
89
  onMouseenter: o[0] || (o[0] = (e) => v(!0)),
90
90
  onMouseleave: o[1] || (o[1] = (e) => v(!1))
91
91
  }, [
92
- (l(), B(b(n.moreIcon), { class: "tr-flow-layout__item-icon" }))
92
+ (l(), x(B(n.moreIcon), { class: "tr-flow-layout__item-icon" }))
93
93
  ], 34)),
94
- I("div", {
94
+ b("div", {
95
95
  class: "tr-flow-layout__dropdown-container",
96
96
  onMouseenter: o[2] || (o[2] = (e) => v(!0)),
97
97
  onMouseleave: o[3] || (o[3] = (e) => v(!1))
@@ -102,13 +102,13 @@ const P = ["onClick"], Q = {
102
102
  ref_key: "dropDownRef",
103
103
  ref: k
104
104
  }, [
105
- (l(!0), a(C, null, D(z.value, (e) => (l(), a("button", {
106
- class: x(["tr-flow-layout__dropdown_item", { selected: e.id === u.value }]),
105
+ (l(!0), a(I, null, $(z.value, (e) => (l(), a("button", {
106
+ class: C(["tr-flow-layout__dropdown_item", { selected: e.id === u.value }]),
107
107
  key: e.id,
108
108
  onClick: (f) => R(e.id)
109
109
  }, [
110
- (l(), B(b(e.icon), { class: "tr-flow-layout__item-icon" })),
111
- I("span", Z, S(e.label), 1)
110
+ (l(), x(B(e.icon), { class: "tr-flow-layout__item-icon" })),
111
+ b("span", Z, D(e.label), 1)
112
112
  ], 10, Y))), 128))
113
113
  ], 512)) : _("", !0)
114
114
  ], 32)
@@ -1,4 +1,4 @@
1
- import { defineComponent as r, computed as a, createElementBlock as u, openBlock as l, normalizeStyle as c, normalizeClass as p, createBlock as m, resolveDynamicComponent as d } from "vue";
1
+ import { defineComponent as r, computed as a, openBlock as l, createElementBlock as u, normalizeStyle as c, normalizeClass as p, createBlock as m, resolveDynamicComponent as d } from "vue";
2
2
  import { t as i } from "../utils.js";
3
3
  import { _ as f } from "../_plugin-vue_export-helper.js";
4
4
  const _ = /* @__PURE__ */ r({
package/dist/index.d.ts CHANGED
@@ -194,6 +194,57 @@ declare const __VLS_component_12: DefineComponent<WelcomeProps, {}, {}, {}, {},
194
194
  align: "left" | "center" | "right" | string;
195
195
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
196
196
 
197
+ declare const __VLS_component_13: DefineComponent<__VLS_PublicProps_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
198
+ "update:visible": (value: boolean) => any;
199
+ } & {
200
+ refresh: (tab: "installed" | "market") => any;
201
+ "update:visible": (visible: boolean) => any;
202
+ "market-category-change": (category: string) => any;
203
+ "tab-change": (activeTab: "installed" | "market") => any;
204
+ "plugin-toggle": (plugin: PluginInfo, enabled: boolean) => any;
205
+ "plugin-delete": (plugin: PluginInfo) => any;
206
+ "plugin-add": (plugin: PluginInfo) => any;
207
+ "plugin-create": (type: "code" | "form", data: PluginCreationData) => any;
208
+ "tool-toggle": (plugin: PluginInfo, toolId: string, enabled: boolean) => any;
209
+ "update:activeCount": (count: number) => any;
210
+ }, string, PublicProps, Readonly<__VLS_PublicProps_6> & Readonly<{
211
+ onRefresh?: ((tab: "installed" | "market") => any) | undefined;
212
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
213
+ "onMarket-category-change"?: ((category: string) => any) | undefined;
214
+ "onTab-change"?: ((activeTab: "installed" | "market") => any) | undefined;
215
+ "onPlugin-toggle"?: ((plugin: PluginInfo, enabled: boolean) => any) | undefined;
216
+ "onPlugin-delete"?: ((plugin: PluginInfo) => any) | undefined;
217
+ "onPlugin-add"?: ((plugin: PluginInfo) => any) | undefined;
218
+ "onPlugin-create"?: ((type: "code" | "form", data: PluginCreationData) => any) | undefined;
219
+ "onTool-toggle"?: ((plugin: PluginInfo, toolId: string, enabled: boolean) => any) | undefined;
220
+ "onUpdate:activeCount"?: ((count: number) => any) | undefined;
221
+ }>, {
222
+ title: string;
223
+ loading: boolean;
224
+ installedPlugins: PluginInfo[];
225
+ marketPlugins: PluginInfo[];
226
+ searchPlaceholder: string;
227
+ enableSearch: boolean;
228
+ installedSearchFn: (query: string, item: PluginInfo) => boolean;
229
+ marketSearchFn: (query: string, item: PluginInfo) => boolean;
230
+ marketCategoryOptions: MarketCategoryOption[];
231
+ marketCategoryPlaceholder: string;
232
+ enableMarketCategoryFilter: boolean;
233
+ defaultActiveTab: "installed" | "market";
234
+ showInstalledTab: boolean;
235
+ showMarketTab: boolean;
236
+ popupConfig: PopupConfig;
237
+ installedTabTitle: string;
238
+ marketTabTitle: string;
239
+ showCustomAddButton: boolean;
240
+ customAddButtonText: string;
241
+ allowPluginToggle: boolean;
242
+ allowToolToggle: boolean;
243
+ allowPluginDelete: boolean;
244
+ allowPluginAdd: boolean;
245
+ marketLoading: boolean;
246
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
247
+
197
248
  declare const __VLS_component_2: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
198
249
  contentRenderers: Record<string, BubbleContentRenderer>;
199
250
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
@@ -340,7 +391,7 @@ clear: () => any;
340
391
  blur: (event: FocusEvent) => any;
341
392
  cancel: () => any;
342
393
  focus: (event: FocusEvent) => any;
343
- submit: (value: string) => any;
394
+ submit: (value: string, templateData?: UserItem[] | undefined) => any;
344
395
  "update:modelValue": (value: string) => any;
345
396
  "update:templateData": (value: UserItem[]) => any;
346
397
  "speech-start": () => any;
@@ -356,7 +407,7 @@ onClear?: (() => any) | undefined;
356
407
  onBlur?: ((event: FocusEvent) => any) | undefined;
357
408
  onCancel?: (() => any) | undefined;
358
409
  onFocus?: ((event: FocusEvent) => any) | undefined;
359
- onSubmit?: ((value: string) => any) | undefined;
410
+ onSubmit?: ((value: string, templateData?: UserItem[] | undefined) => any) | undefined;
360
411
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
361
412
  "onUpdate:templateData"?: ((value: UserItem[]) => any) | undefined;
362
413
  "onSpeech-start"?: (() => any) | undefined;
@@ -1092,6 +1143,15 @@ declare function __VLS_template_12(): {
1092
1143
  rootEl: HTMLDivElement;
1093
1144
  };
1094
1145
 
1146
+ declare function __VLS_template_13(): {
1147
+ attrs: Partial<{}>;
1148
+ slots: {
1149
+ 'header-actions'?(_: {}): any;
1150
+ };
1151
+ refs: {};
1152
+ rootEl: any;
1153
+ };
1154
+
1095
1155
  declare function __VLS_template_2(): {
1096
1156
  attrs: Partial<{}>;
1097
1157
  slots: {
@@ -1766,6 +1826,8 @@ declare type __VLS_TemplateResult_11 = ReturnType<typeof __VLS_template_11>;
1766
1826
 
1767
1827
  declare type __VLS_TemplateResult_12 = ReturnType<typeof __VLS_template_12>;
1768
1828
 
1829
+ declare type __VLS_TemplateResult_13 = ReturnType<typeof __VLS_template_13>;
1830
+
1769
1831
  declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
1770
1832
 
1771
1833
  declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
@@ -1806,6 +1868,12 @@ declare type __VLS_WithTemplateSlots_12<T, S> = T & {
1806
1868
  };
1807
1869
  };
1808
1870
 
1871
+ declare type __VLS_WithTemplateSlots_13<T, S> = T & {
1872
+ new (): {
1873
+ $slots: S;
1874
+ };
1875
+ };
1876
+
1809
1877
  declare type __VLS_WithTemplateSlots_2<T, S> = T & {
1810
1878
  new (): {
1811
1879
  $slots: S;
@@ -2268,56 +2336,7 @@ declare const _default_34: __VLS_WithTemplateSlots_11<typeof __VLS_component_11,
2268
2336
 
2269
2337
  declare const _default_35: __VLS_WithTemplateSlots_12<typeof __VLS_component_12, __VLS_TemplateResult_12["slots"]>;
2270
2338
 
2271
- declare const _default_36: DefineComponent<__VLS_PublicProps_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2272
- "update:visible": (value: boolean) => any;
2273
- } & {
2274
- refresh: (tab: "installed" | "market") => any;
2275
- "update:visible": (visible: boolean) => any;
2276
- "market-category-change": (category: string) => any;
2277
- "tab-change": (activeTab: "installed" | "market") => any;
2278
- "plugin-toggle": (plugin: PluginInfo, enabled: boolean) => any;
2279
- "plugin-delete": (plugin: PluginInfo) => any;
2280
- "plugin-add": (plugin: PluginInfo) => any;
2281
- "plugin-create": (type: "code" | "form", data: PluginCreationData) => any;
2282
- "tool-toggle": (plugin: PluginInfo, toolId: string, enabled: boolean) => any;
2283
- "update:activeCount": (count: number) => any;
2284
- }, string, PublicProps, Readonly<__VLS_PublicProps_6> & Readonly<{
2285
- onRefresh?: ((tab: "installed" | "market") => any) | undefined;
2286
- "onUpdate:visible"?: ((value: boolean) => any) | undefined;
2287
- "onMarket-category-change"?: ((category: string) => any) | undefined;
2288
- "onTab-change"?: ((activeTab: "installed" | "market") => any) | undefined;
2289
- "onPlugin-toggle"?: ((plugin: PluginInfo, enabled: boolean) => any) | undefined;
2290
- "onPlugin-delete"?: ((plugin: PluginInfo) => any) | undefined;
2291
- "onPlugin-add"?: ((plugin: PluginInfo) => any) | undefined;
2292
- "onPlugin-create"?: ((type: "code" | "form", data: PluginCreationData) => any) | undefined;
2293
- "onTool-toggle"?: ((plugin: PluginInfo, toolId: string, enabled: boolean) => any) | undefined;
2294
- "onUpdate:activeCount"?: ((count: number) => any) | undefined;
2295
- }>, {
2296
- title: string;
2297
- loading: boolean;
2298
- installedPlugins: PluginInfo[];
2299
- marketPlugins: PluginInfo[];
2300
- searchPlaceholder: string;
2301
- enableSearch: boolean;
2302
- installedSearchFn: (query: string, item: PluginInfo) => boolean;
2303
- marketSearchFn: (query: string, item: PluginInfo) => boolean;
2304
- marketCategoryOptions: MarketCategoryOption[];
2305
- marketCategoryPlaceholder: string;
2306
- enableMarketCategoryFilter: boolean;
2307
- defaultActiveTab: "installed" | "market";
2308
- showInstalledTab: boolean;
2309
- showMarketTab: boolean;
2310
- popupConfig: PopupConfig;
2311
- installedTabTitle: string;
2312
- marketTabTitle: string;
2313
- showCustomAddButton: boolean;
2314
- customAddButtonText: string;
2315
- allowPluginToggle: boolean;
2316
- allowToolToggle: boolean;
2317
- allowPluginDelete: boolean;
2318
- allowPluginAdd: boolean;
2319
- marketLoading: boolean;
2320
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2339
+ declare const _default_36: __VLS_WithTemplateSlots_13<typeof __VLS_component_13, __VLS_TemplateResult_13["slots"]>;
2321
2340
 
2322
2341
  declare const _default_37: DefineComponent<McpAddFormProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
2323
2342
  cancel: () => any;
@@ -2927,7 +2946,7 @@ export declare interface RejectionReason {
2927
2946
  export declare type SenderEmits = {
2928
2947
  (e: 'update:modelValue', value: string): void;
2929
2948
  (e: 'update:templateData', value: UserItem[]): void;
2930
- (e: 'submit', value: string): void;
2949
+ (e: 'submit', value: string, templateData?: UserItem[]): void;
2931
2950
  (e: 'clear'): void;
2932
2951
  (e: 'speech-start'): void;
2933
2952
  (e: 'speech-end', transcript?: string): void;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import z from "./attachments/index.js";
2
2
  import { B as x, a as E, b as S } from "./index2.js";
3
- import { d as ve, c as fe, u as _e } from "./index2.js";
3
+ import { c as ve, d as fe, u as _e } from "./index2.js";
4
4
  import P from "./container/index.js";
5
5
  import b from "./conversations/index.js";
6
6
  import L from "./drag-overlay/index.js";
package/dist/index2.js CHANGED
@@ -1,12 +1,12 @@
1
1
  var xn = Object.defineProperty;
2
2
  var gn = (u, e, t) => e in u ? xn(u, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[e] = t;
3
3
  var Ou = (u, e, t) => gn(u, typeof e != "symbol" ? e + "" : e, t);
4
- import { defineComponent as Fu, ref as Se, createElementBlock as H, openBlock as S, createElementVNode as Z, createVNode as Tt, toDisplayString as Du, unref as f0, normalizeClass as Cu, withDirectives as kn, vShow as En, computed as X, useCssModule as An, createCommentVNode as Bu, createBlock as eu, resolveDynamicComponent as xu, createTextVNode as Cn, inject as Z0, normalizeProps as Ce, mergeProps as Ku, h as V0, useSlots as Dn, useAttrs as yn, normalizeStyle as Fn, renderSlot as Qu, Fragment as De, renderList as Ee, watch as d0, toValue as Y0, onMounted as Tn, onUnmounted as Sn, nextTick as St, createSlots as X0, withCtx as J0, guardReactiveProps as wn, provide as Q0 } from "vue";
4
+ import { defineComponent as Fu, ref as Se, openBlock as S, createElementBlock as H, createElementVNode as Z, toDisplayString as Du, createVNode as Tt, unref as f0, normalizeClass as Cu, withDirectives as kn, vShow as En, computed as X, useCssModule as An, createBlock as eu, resolveDynamicComponent as xu, createTextVNode as Cn, createCommentVNode as Bu, inject as Z0, normalizeProps as Ce, mergeProps as Ku, h as V0, useSlots as Dn, useAttrs as yn, normalizeStyle as Fn, renderSlot as Qu, Fragment as De, renderList as Ee, watch as d0, toValue as Y0, onMounted as Tn, onUnmounted as Sn, nextTick as St, createSlots as X0, withCtx as J0, guardReactiveProps as wn, provide as Q0 } from "vue";
5
5
  import { _ as vn } from "./loading.js";
6
6
  import { t as Rn } from "./utils.js";
7
7
  import { IconArrowUp as In, IconPlugin as K0, IconArrowDown as Mn, IconLoading as Ln, IconError as On, IconCancelled as Nn } from "@opentiny/tiny-robot-svgs";
8
8
  import { _ as ce } from "./_plugin-vue_export-helper.js";
9
- import { u as Bn, a as Pn, w as zn, b as qn } from "./index4.js";
9
+ import { u as Bn, w as Pn, a as zn, b as qn } from "./index4.js";
10
10
  class h0 {
11
11
  }
12
12
  const Un = { class: "tr-bubble__step-text" }, Hn = { class: "tr-bubble__step-text-title" }, $n = { class: "tr-bubble__step-text-content-wrapper" }, jn = /* @__PURE__ */ Fu({
@@ -3894,7 +3894,7 @@ function Ft(u, e) {
3894
3894
  function wi(u, e, t) {
3895
3895
  const { scrollOnMount: n = !0, bottomThreshold: r = 20, scrollThrottle: o = 0 } = t ?? {}, i = Se(!0);
3896
3896
  let c = !1;
3897
- const a = /* @__PURE__ */ new Set(), s = () => Pn(u), { y: d, isScrolling: f } = Bn(s, { throttle: o }), m = (g) => g.scrollHeight - g.scrollTop - g.clientHeight <= r, p = async (g = "auto") => {
3897
+ const a = /* @__PURE__ */ new Set(), s = () => qn(u), { y: d, isScrolling: f } = Bn(s, { throttle: o }), m = (g) => g.scrollHeight - g.scrollTop - g.clientHeight <= r, p = async (g = "auto") => {
3898
3898
  const C = Y0(s);
3899
3899
  if (C && (await St(), C.scrollTo({ top: C.scrollHeight, behavior: g }), g === "smooth" && !m(C))) {
3900
3900
  const T = Ft(f, () => {
@@ -3914,7 +3914,7 @@ function wi(u, e, t) {
3914
3914
  g && (i.value = m(g));
3915
3915
  },
3916
3916
  { flush: "post" }
3917
- ), zn(
3917
+ ), Pn(
3918
3918
  e,
3919
3919
  () => {
3920
3920
  h();
@@ -3926,7 +3926,7 @@ function wi(u, e, t) {
3926
3926
  a.forEach((g) => {
3927
3927
  g();
3928
3928
  }), a.clear();
3929
- }), qn("keydown", (g) => {
3929
+ }), zn("keydown", (g) => {
3930
3930
  if (g.key === "End" && !i.value) {
3931
3931
  const C = Ft(f, () => {
3932
3932
  p("auto"), a.delete(C);
@@ -4072,7 +4072,7 @@ export {
4072
4072
  Hi as B,
4073
4073
  $i as a,
4074
4074
  ji as b,
4075
- Ui as c,
4076
- h0 as d,
4075
+ h0 as c,
4076
+ Ui as d,
4077
4077
  wi as u
4078
4078
  };
package/dist/index3.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ref as _, onMounted as ne, onBeforeUnmount as oe, defineComponent as P, createElementBlock as a, openBlock as r, createElementVNode as w, createVNode as $, unref as n, toDisplayString as B, mergeModels as W, useModel as j, computed as I, normalizeStyle as ie, Fragment as S, renderList as V, createBlock as H, resolveDynamicComponent as Y, nextTick as se, normalizeClass as U, withDirectives as q, createCommentVNode as G, renderSlot as A, withKeys as F, withModifiers as J, isRef as le, vModelText as re, vShow as ae } from "vue";
1
+ import { onMounted as ne, onBeforeUnmount as oe, ref as _, defineComponent as P, openBlock as r, createElementBlock as a, createElementVNode as w, createVNode as $, unref as n, toDisplayString as B, useModel as W, computed as I, normalizeStyle as ie, Fragment as S, renderList as V, createBlock as H, resolveDynamicComponent as Y, mergeModels as j, nextTick as se, normalizeClass as U, createCommentVNode as G, renderSlot as q, withDirectives as A, withKeys as F, isRef as le, withModifiers as J, vModelText as re, vShow as ae } from "vue";
2
2
  import { IconEmptySearch as ue, IconEditPen as ce, IconDelete as de, IconCheck as me, IconClose as fe, IconMenu2 as pe } from "@opentiny/tiny-robot-svgs";
3
3
  import { _ as z } from "./_plugin-vue_export-helper.js";
4
4
  import { o as Z, c as ve, e as ge, d as ye } from "./index4.js";
@@ -47,7 +47,7 @@ const ke = { class: "tr-history__empty" }, Le = { class: "tr-history__empty-icon
47
47
  }
48
48
  }), Re = /* @__PURE__ */ z(we, [["__scopeId", "data-v-d0340c39"]]), Ie = ["onClick"], Q = 4, xe = /* @__PURE__ */ P({
49
49
  __name: "MenuList",
50
- props: /* @__PURE__ */ W({
50
+ props: /* @__PURE__ */ j({
51
51
  items: {},
52
52
  menuListGap: { default: 8 }
53
53
  }, {
@@ -56,9 +56,9 @@ const ke = { class: "tr-history__empty" }, Le = { class: "tr-history__empty-icon
56
56
  data: { default: null },
57
57
  dataModifiers: {}
58
58
  }),
59
- emits: /* @__PURE__ */ W(["item-click"], ["update:trigger", "update:data"]),
59
+ emits: /* @__PURE__ */ j(["item-click"], ["update:trigger", "update:data"]),
60
60
  setup(s, { emit: m }) {
61
- const t = j(s, "trigger"), c = j(s, "data"), h = s, C = m, E = _(null);
61
+ const t = W(s, "trigger"), c = W(s, "data"), h = s, C = m, E = _(null);
62
62
  Z(
63
63
  E,
64
64
  () => {
@@ -202,9 +202,9 @@ const ke = { class: "tr-history__empty" }, Le = { class: "tr-history__empty-icon
202
202
  key: l.id || te,
203
203
  onClick: (d) => c("item-click", l)
204
204
  }, [
205
- A(i.$slots, "item-prefix", { item: l }, void 0, !0),
205
+ q(i.$slots, "item-prefix", { item: l }, void 0, !0),
206
206
  l.icon ? (r(), H(Y(l.icon), { key: 0 })) : G("", !0),
207
- n(p) === l ? q((r(), a("input", {
207
+ n(p) === l ? A((r(), a("input", {
208
208
  key: 1,
209
209
  class: "tr-history__item-editor",
210
210
  type: "text",
@@ -228,7 +228,7 @@ const ke = { class: "tr-history__empty" }, Le = { class: "tr-history__empty-icon
228
228
  ]
229
229
  }, null, 544)), [
230
230
  [re, n(k)]
231
- ]) : A(i.$slots, "item-title", {
231
+ ]) : q(i.$slots, "item-title", {
232
232
  key: 2,
233
233
  item: l
234
234
  }, () => [
@@ -274,7 +274,7 @@ const ke = { class: "tr-history__empty" }, Le = { class: "tr-history__empty-icon
274
274
  ], 10, Ge))), 128))
275
275
  ])
276
276
  ]))), 128)),
277
- q($(Me, {
277
+ A($(Me, {
278
278
  trigger: g.value,
279
279
  "onUpdate:trigger": e[7] || (e[7] = (f) => g.value = f),
280
280
  data: u.value,
package/dist/index4.js CHANGED
@@ -695,8 +695,8 @@ function tt(e = {}) {
695
695
  return { width: r, height: s };
696
696
  }
697
697
  export {
698
- S as a,
699
- M as b,
698
+ M as a,
699
+ S as b,
700
700
  qe as c,
701
701
  tt as d,
702
702
  Je as e,