@opentiny/tiny-robot 0.2.0-alpha.0 → 0.2.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.
Files changed (136) hide show
  1. package/dist/action-group/ActionGroup.vue.d.ts +26 -0
  2. package/dist/action-group/ActionGroupItem.vue.d.ts +18 -0
  3. package/dist/action-group/index.d.ts +12 -0
  4. package/dist/action-group/index.type.d.ts +16 -0
  5. package/dist/feedback/components/SourceList.vue.d.ts +11 -0
  6. package/dist/feedback/components/index.d.ts +1 -0
  7. package/dist/feedback/index.d.ts +7 -0
  8. package/dist/feedback/index.type.d.ts +25 -0
  9. package/dist/feedback/index.vue.d.ts +13 -0
  10. package/dist/history/components/index.d.ts +2 -0
  11. package/dist/history/components/item-tag.vue.d.ts +5 -0
  12. package/dist/history/components/search-empty.vue.d.ts +7 -0
  13. package/dist/history/composables/index.d.ts +1 -0
  14. package/dist/history/composables/useEditItemTitle.d.ts +12 -0
  15. package/dist/history/index.d.ts +6 -0
  16. package/dist/history/index.type.d.ts +43 -0
  17. package/dist/history/index.vue.d.ts +2 -0
  18. package/dist/icon-button/index.d.ts +7 -0
  19. package/dist/icon-button/index.type.d.ts +7 -0
  20. package/dist/icon-button/index.vue.d.ts +6 -0
  21. package/dist/index.d.ts +10 -1
  22. package/dist/index.js +57 -27
  23. package/dist/node_modules/.pnpm/@opentiny_utils@3.22.0/node_modules/@opentiny/utils/dist/index.es.js +1335 -884
  24. package/dist/node_modules/.pnpm/@opentiny_vue-common@3.22.0/node_modules/@opentiny/vue-common/lib/index.js +660 -144
  25. package/dist/node_modules/.pnpm/@opentiny_vue-hooks@3.22.0/node_modules/@opentiny/vue-hooks/dist/src/vue-popper.js +85 -0
  26. package/dist/node_modules/.pnpm/@opentiny_vue-locale@3.22.0/node_modules/@opentiny/vue-locale/lib/index.js +1783 -0
  27. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/index.js +77 -0
  28. package/dist/node_modules/.pnpm/@opentiny_vue-renderless@3.22.0/node_modules/@opentiny/vue-renderless/tooltip/vue.js +90 -0
  29. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/index.js +176 -0
  30. package/dist/node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/pc.js +248 -0
  31. package/dist/node_modules/.pnpm/@vueuse_core@13.1.0_vue@3.5.13/node_modules/@vueuse/core/index.js +190 -0
  32. package/dist/node_modules/.pnpm/@vueuse_shared@13.1.0_vue@3.5.13/node_modules/@vueuse/shared/index.js +53 -0
  33. package/dist/packages/components/src/action-group/ActionGroup.vue.js +7 -0
  34. package/dist/packages/components/src/action-group/ActionGroup.vue2.js +97 -0
  35. package/dist/packages/components/src/action-group/ActionGroupItem.vue.js +14 -0
  36. package/dist/packages/components/src/action-group/ActionGroupItem.vue2.js +4 -0
  37. package/dist/packages/components/src/action-group/index.js +17 -0
  38. package/dist/packages/components/src/bubble/bubble.vue.js +2 -2
  39. package/dist/packages/components/src/bubble/bubble.vue2.js +46 -46
  40. package/dist/packages/components/src/container/index.vue.js +1 -1
  41. package/dist/packages/components/src/container/index.vue2.js +17 -17
  42. package/dist/packages/components/src/feedback/components/SourceList.vue.js +7 -0
  43. package/dist/packages/components/src/feedback/components/SourceList.vue2.js +52 -0
  44. package/dist/packages/components/src/feedback/index.js +9 -0
  45. package/dist/packages/components/src/feedback/index.vue.js +7 -0
  46. package/dist/packages/components/src/feedback/index.vue2.js +142 -0
  47. package/dist/packages/components/src/history/components/item-tag.vue.js +7 -0
  48. package/dist/packages/components/src/history/components/item-tag.vue2.js +21 -0
  49. package/dist/packages/components/src/history/components/search-empty.vue.js +7 -0
  50. package/dist/packages/components/src/history/components/search-empty.vue2.js +20 -0
  51. package/dist/packages/components/src/history/composables/useEditItemTitle.js +43 -0
  52. package/dist/packages/components/src/history/index.js +11 -0
  53. package/dist/packages/components/src/history/index.vue.js +7 -0
  54. package/dist/packages/components/src/history/index.vue2.js +130 -0
  55. package/dist/packages/components/src/icon-button/index.js +9 -0
  56. package/dist/packages/components/src/icon-button/index.vue.js +7 -0
  57. package/dist/packages/components/src/icon-button/index.vue2.js +40 -0
  58. package/dist/packages/components/src/prompts/prompt.vue.js +2 -2
  59. package/dist/packages/components/src/prompts/prompt.vue2.js +17 -15
  60. package/dist/packages/components/src/question/components/HotQuestions.vue.js +23 -23
  61. package/dist/packages/components/src/question/index.vue.js +18 -18
  62. package/dist/packages/components/src/sender/components/TemplateEditor.vue.js +7 -0
  63. package/dist/packages/components/src/sender/components/TemplateEditor.vue2.js +121 -0
  64. package/dist/packages/components/src/sender/index.vue.js +149 -128
  65. package/dist/packages/components/src/suggestion/components/CategoryNav.vue.js +38 -0
  66. package/dist/packages/components/src/suggestion/components/CategoryNav.vue2.js +4 -0
  67. package/dist/packages/components/src/suggestion/components/SuggestionCapsule.vue.js +107 -0
  68. package/dist/packages/components/src/suggestion/components/SuggestionCapsule.vue2.js +4 -0
  69. package/dist/packages/components/src/suggestion/components/SuggestionPanel.vue.js +123 -0
  70. package/dist/packages/components/src/suggestion/components/SuggestionPanel.vue2.js +4 -0
  71. package/dist/packages/components/src/suggestion/composables/useKeyboardNavigation.js +45 -0
  72. package/dist/packages/components/src/suggestion/composables/useTriggerDetection.js +17 -0
  73. package/dist/packages/components/src/suggestion/index.js +9 -0
  74. package/dist/packages/components/src/suggestion/index.vue.js +179 -0
  75. package/dist/packages/components/src/suggestion/index.vue2.js +4 -0
  76. package/dist/packages/components/src/suggestion/utils/dom.js +18 -0
  77. package/dist/packages/svgs/dist/tiny-robot-svgs.js +306 -90
  78. package/dist/question/components/HotQuestions.vue.d.ts +2 -2
  79. package/dist/sender/components/TemplateEditor.vue.d.ts +18 -0
  80. package/dist/sender/index.type.d.ts +47 -0
  81. package/dist/sender/index.vue.d.ts +68 -3
  82. package/dist/style.css +1 -1
  83. package/dist/suggestion/components/CategoryNav.vue.d.ts +45 -0
  84. package/dist/suggestion/components/SuggestionCapsule.vue.d.ts +32 -0
  85. package/dist/suggestion/components/SuggestionPanel.vue.d.ts +84 -0
  86. package/dist/suggestion/composables/useKeyboardNavigation.d.ts +18 -0
  87. package/dist/suggestion/composables/useSuggestionFilter.d.ts +10 -0
  88. package/dist/suggestion/composables/useTriggerDetection.d.ts +11 -0
  89. package/dist/suggestion/index.d.ts +7 -0
  90. package/dist/suggestion/index.type.d.ts +94 -0
  91. package/dist/suggestion/index.vue.d.ts +343 -0
  92. package/dist/suggestion/utils/dom.d.ts +20 -0
  93. package/package.json +4 -3
  94. package/src/action-group/ActionGroup.vue +232 -0
  95. package/src/action-group/ActionGroupItem.vue +9 -0
  96. package/src/action-group/index.ts +25 -0
  97. package/src/action-group/index.type.ts +20 -0
  98. package/src/bubble/bubble.vue +4 -14
  99. package/src/container/index.vue +1 -2
  100. package/src/feedback/components/SourceList.vue +112 -0
  101. package/src/feedback/components/index.ts +1 -0
  102. package/src/feedback/index.ts +12 -0
  103. package/src/feedback/index.type.ts +27 -0
  104. package/src/feedback/index.vue +166 -0
  105. package/src/history/components/index.ts +2 -0
  106. package/src/history/components/item-tag.vue +49 -0
  107. package/src/history/components/search-empty.vue +38 -0
  108. package/src/history/composables/index.ts +1 -0
  109. package/src/history/composables/useEditItemTitle.ts +75 -0
  110. package/src/history/index.ts +12 -0
  111. package/src/history/index.type.ts +50 -0
  112. package/src/history/index.vue +292 -0
  113. package/src/icon-button/index.ts +12 -0
  114. package/src/icon-button/index.type.ts +8 -0
  115. package/src/icon-button/index.vue +52 -0
  116. package/src/index.ts +33 -1
  117. package/src/prompts/prompt.vue +7 -21
  118. package/src/question/components/HotQuestions.vue +1 -1
  119. package/src/question/index.less +9 -10
  120. package/src/sender/components/TemplateEditor.vue +274 -0
  121. package/src/sender/index.less +17 -7
  122. package/src/sender/index.type.ts +51 -0
  123. package/src/sender/index.vue +56 -8
  124. package/src/sender/vars.less +3 -3
  125. package/src/suggestion/components/CategoryNav.vue +38 -0
  126. package/src/suggestion/components/SuggestionCapsule.vue +183 -0
  127. package/src/suggestion/components/SuggestionPanel.vue +147 -0
  128. package/src/suggestion/composables/useKeyboardNavigation.ts +101 -0
  129. package/src/suggestion/composables/useSuggestionFilter.ts +34 -0
  130. package/src/suggestion/composables/useTriggerDetection.ts +46 -0
  131. package/src/suggestion/index.less +497 -0
  132. package/src/suggestion/index.ts +12 -0
  133. package/src/suggestion/index.type.ts +101 -0
  134. package/src/suggestion/index.vue +338 -0
  135. package/src/suggestion/utils/dom.ts +66 -0
  136. package/src/suggestion/vars.less +141 -0
@@ -0,0 +1,52 @@
1
+ import { defineComponent as I, ref as i, computed as L, onMounted as g, watch as h, createElementBlock as n, openBlock as r, createCommentVNode as c, Fragment as v, renderList as A, toDisplayString as d, createVNode as C, unref as T, nextTick as b } from "vue";
2
+ import { IconArrowUp as w } from "../../../../svgs/dist/tiny-robot-svgs.js";
3
+ const x = { class: "tr-feedback__source-list" }, E = ["href"], M = /* @__PURE__ */ I({
4
+ __name: "SourceList",
5
+ props: {
6
+ sources: {},
7
+ linesLimit: { default: Number.MAX_SAFE_INTEGER }
8
+ },
9
+ setup(k) {
10
+ const a = k, u = i(!1), p = i([]), l = i(null), f = () => {
11
+ b(() => {
12
+ const s = p.value.map((t) => (t == null ? void 0 : t.offsetTop) || 0), e = Array.from(new Set(s));
13
+ if (e.length > a.linesLimit) {
14
+ const t = e[a.linesLimit - 1], o = s.lastIndexOf(t);
15
+ l.value = o;
16
+ } else
17
+ l.value = null;
18
+ });
19
+ }, _ = L(() => a.sources.length - (l.value || 0));
20
+ g(f), h(() => a.sources, f);
21
+ const y = (s, e) => {
22
+ s && (p.value[e] = s);
23
+ };
24
+ return (s, e) => (r(), n("div", x, [
25
+ (r(!0), n(v, null, A(a.sources, (t, o) => (r(), n(v, { key: o }, [
26
+ !l.value || u.value || o < l.value ? (r(), n("a", {
27
+ key: 0,
28
+ class: "pill",
29
+ href: t.link,
30
+ target: "_blank",
31
+ ref_for: !0,
32
+ ref: (m) => y(m, o)
33
+ }, d(t.label), 9, E)) : c("", !0),
34
+ l.value && !u.value && o === l.value ? (r(), n("span", {
35
+ key: 1,
36
+ class: "pill",
37
+ onClick: e[0] || (e[0] = (m) => u.value = !0)
38
+ }, d(_.value) + "+ ", 1)) : c("", !0)
39
+ ], 64))), 128)),
40
+ u.value ? (r(), n("span", {
41
+ key: 0,
42
+ class: "pill collapse-pill",
43
+ onClick: e[1] || (e[1] = (t) => u.value = !1)
44
+ }, [
45
+ C(T(w))
46
+ ])) : c("", !0)
47
+ ]));
48
+ }
49
+ });
50
+ export {
51
+ M as default
52
+ };
@@ -0,0 +1,9 @@
1
+ import e from "./index.vue.js";
2
+ e.name = "TrFeedback";
3
+ const a = function(n) {
4
+ n.component(e.name, e);
5
+ };
6
+ e.install = a;
7
+ export {
8
+ e as default
9
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./index.vue2.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-762e57a9"]]);
5
+ export {
6
+ m as default
7
+ };
@@ -0,0 +1,142 @@
1
+ import { defineComponent as F, ref as M, createElementBlock as d, openBlock as o, createElementVNode as a, createCommentVNode as f, createVNode as _, unref as t, withCtx as l, Fragment as g, renderList as A, createBlock as c, createTextVNode as R, toDisplayString as k, resolveDynamicComponent as b } from "vue";
2
+ import { IconArrowDown as h, IconArrowUp as C, IconDislike as T, IconLike as X, IconRefresh as z, IconCopy as O } from "../../../svgs/dist/tiny-robot-svgs.js";
3
+ import x from "../../../../node_modules/.pnpm/@opentiny_vue-button@3.21.0/node_modules/@opentiny/vue-button/lib/index.js";
4
+ import { ActionGroupItem as N } from "../action-group/index.js";
5
+ import "../icon-button/index.js";
6
+ import U from "./components/SourceList.vue.js";
7
+ import w from "../action-group/ActionGroup.vue.js";
8
+ import Z from "../icon-button/index.vue.js";
9
+ const j = { class: "tr-feedback" }, q = { class: "tr-feedback__operations" }, H = {
10
+ key: 0,
11
+ class: "tr-feedback__operations-left"
12
+ }, J = { key: 1 }, K = { class: "tr-feedback__operations-right" }, P = { class: "tr-feedback__footer" }, Q = { key: 0 }, ie = /* @__PURE__ */ F({
13
+ __name: "index",
14
+ props: {
15
+ operations: {},
16
+ operationsLimit: { default: Number.MAX_SAFE_INTEGER },
17
+ actions: {},
18
+ actionsLimit: { default: Number.MAX_SAFE_INTEGER },
19
+ sources: {},
20
+ sourcesLinesLimit: { default: Number.MAX_SAFE_INTEGER }
21
+ },
22
+ emits: ["operation", "action"],
23
+ setup(S, { emit: B }) {
24
+ const e = S, D = {
25
+ copy: O,
26
+ refresh: z,
27
+ like: X,
28
+ dislike: T
29
+ }, y = B, G = (m) => {
30
+ var i, n, r;
31
+ (r = (n = (i = e.operations) == null ? void 0 : i.find((u) => u.name === m)) == null ? void 0 : n.onClick) == null || r.call(n), y("operation", m);
32
+ }, V = (m) => {
33
+ var i, n, r;
34
+ (r = (n = (i = e.actions) == null ? void 0 : i.find((u) => u.name === m)) == null ? void 0 : n.onClick) == null || r.call(n), y("action", m);
35
+ }, p = M(!1), v = () => {
36
+ p.value = !p.value;
37
+ };
38
+ return (m, i) => {
39
+ var n, r, u, I, L, E;
40
+ return o(), d("div", j, [
41
+ a("div", q, [
42
+ (n = e.operations) != null && n.length ? (o(), d("div", H, [
43
+ _(t(w), {
44
+ "max-num": e.operationsLimit,
45
+ "drop-down-show-label-only": !0,
46
+ onItemClick: G,
47
+ class: "tr-feedback__operations-left-action-group"
48
+ }, {
49
+ moreBtn: l(() => [
50
+ _(t(x), {
51
+ round: "",
52
+ size: "mini",
53
+ "reset-time": 0,
54
+ class: "tr-feedback__operations-more-btn"
55
+ }, {
56
+ default: l(() => [
57
+ i[0] || (i[0] = a("span", null, "更多", -1)),
58
+ _(t(h))
59
+ ]),
60
+ _: 1
61
+ })
62
+ ]),
63
+ default: l(() => [
64
+ (o(!0), d(g, null, A(e.operations, (s) => (o(), c(t(N), {
65
+ key: s.name,
66
+ name: s.name,
67
+ label: s.label
68
+ }, {
69
+ default: l(() => [
70
+ _(t(x), {
71
+ round: "",
72
+ "reset-time": 0,
73
+ size: "mini"
74
+ }, {
75
+ default: l(() => [
76
+ R(k(s.label), 1)
77
+ ]),
78
+ _: 2
79
+ }, 1024)
80
+ ]),
81
+ _: 2
82
+ }, 1032, ["name", "label"]))), 128))
83
+ ]),
84
+ _: 1
85
+ }, 8, ["max-num"])
86
+ ])) : (r = e.sources) != null && r.length ? (o(), d("div", J, [
87
+ a("span", {
88
+ class: "tr-feedback__source",
89
+ onClick: v
90
+ }, [
91
+ a("span", null, k((u = e.sources) == null ? void 0 : u.length) + "条来源", 1),
92
+ (o(), c(b(p.value ? t(C) : t(h))))
93
+ ])
94
+ ])) : f("", !0),
95
+ a("div", K, [
96
+ _(t(w), {
97
+ "max-num": e.actionsLimit,
98
+ onItemClick: V
99
+ }, {
100
+ default: l(() => [
101
+ (o(!0), d(g, null, A(e.actions, (s) => (o(), c(t(N), {
102
+ key: s.name,
103
+ name: s.name,
104
+ label: s.label
105
+ }, {
106
+ default: l(() => [
107
+ typeof s.icon == "string" ? (o(), c(t(Z), {
108
+ key: 0,
109
+ icon: D[s.icon],
110
+ tooltip: s.label
111
+ }, null, 8, ["icon", "tooltip"])) : (o(), c(b(s.icon), { key: 1 }))
112
+ ]),
113
+ _: 2
114
+ }, 1032, ["name", "label"]))), 128))
115
+ ]),
116
+ _: 1
117
+ }, 8, ["max-num"])
118
+ ])
119
+ ]),
120
+ a("div", P, [
121
+ (I = e.operations) != null && I.length && ((L = e.sources) != null && L.length) ? (o(), d("div", Q, [
122
+ a("span", {
123
+ class: "tr-feedback__source",
124
+ onClick: v
125
+ }, [
126
+ a("span", null, k((E = e.sources) == null ? void 0 : E.length) + "条来源", 1),
127
+ (o(), c(b(p.value ? t(C) : t(h))))
128
+ ])
129
+ ])) : f("", !0),
130
+ p.value && e.sources ? (o(), c(t(U), {
131
+ key: 1,
132
+ sources: e.sources,
133
+ "lines-limit": e.sourcesLinesLimit
134
+ }, null, 8, ["sources", "lines-limit"])) : f("", !0)
135
+ ])
136
+ ]);
137
+ };
138
+ }
139
+ });
140
+ export {
141
+ ie as default
142
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./item-tag.vue2.js";
2
+ /* empty css */
3
+ import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-346767bb"]]);
5
+ export {
6
+ p as default
7
+ };
@@ -0,0 +1,21 @@
1
+ import { defineComponent as l, createElementBlock as a, openBlock as n, normalizeStyle as o, normalizeClass as s, createElementVNode as r, toDisplayString as p } from "vue";
2
+ const y = /* @__PURE__ */ l({
3
+ __name: "item-tag",
4
+ props: {
5
+ text: {},
6
+ type: { default: "default" },
7
+ style: {}
8
+ },
9
+ setup(t) {
10
+ const e = t;
11
+ return (c, i) => (n(), a("div", {
12
+ class: s(["tr-history__item-tag", e.type]),
13
+ style: o(e.style)
14
+ }, [
15
+ r("span", null, p(e.text), 1)
16
+ ], 6));
17
+ }
18
+ });
19
+ export {
20
+ y as default
21
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./search-empty.vue2.js";
2
+ /* empty css */
3
+ import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b21f5bc0"]]);
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,20 @@
1
+ import { defineComponent as s, createElementBlock as r, openBlock as c, createElementVNode as t, createVNode as n, unref as a, toDisplayString as p } from "vue";
2
+ import { IconEmptySearch as _ } from "../../../../svgs/dist/tiny-robot-svgs.js";
3
+ const i = { class: "tr-history__empty" }, m = { class: "tr-history__empty-icon" }, l = { class: "tr-history__empty-text" }, u = /* @__PURE__ */ s({
4
+ __name: "search-empty",
5
+ props: {
6
+ text: { default: "暂无内容" }
7
+ },
8
+ setup(e) {
9
+ const o = e;
10
+ return (d, h) => (c(), r("div", i, [
11
+ t("span", m, [
12
+ n(a(_))
13
+ ]),
14
+ t("span", l, p(o.text), 1)
15
+ ]));
16
+ }
17
+ });
18
+ export {
19
+ u as default
20
+ };
@@ -0,0 +1,43 @@
1
+ import { onClickOutside as v } from "../../../../../node_modules/.pnpm/@vueuse_core@13.1.0_vue@3.5.13/node_modules/@vueuse/core/index.js";
2
+ import { ref as n, watchEffect as s, nextTick as h } from "vue";
3
+ const w = (o) => {
4
+ const i = n(), u = (t) => {
5
+ i.value = {
6
+ id: t.id,
7
+ title: t.title,
8
+ rawData: t
9
+ };
10
+ }, a = n(null), r = (t) => {
11
+ t && h(() => {
12
+ a.value = t, a.value.focus();
13
+ });
14
+ };
15
+ let e;
16
+ const l = () => {
17
+ if (i.value) {
18
+ if (i.value.title !== i.value.rawData.title) {
19
+ const { title: t, rawData: f } = i.value;
20
+ o("item-title-change", t, f);
21
+ }
22
+ i.value = void 0;
23
+ }
24
+ e == null || e(), e = void 0;
25
+ }, c = () => {
26
+ i.value = void 0, e == null || e(), e = void 0;
27
+ }, d = (t) => {
28
+ t.key === "Enter" ? l() : t.key === "Escape" && c();
29
+ };
30
+ return s(() => {
31
+ a.value && (e == null || e(), e = v(a, () => {
32
+ l();
33
+ }));
34
+ }), {
35
+ editingItem: i,
36
+ handleEdit: u,
37
+ handleEditorInputRef: r,
38
+ handleKeyDown: d
39
+ };
40
+ };
41
+ export {
42
+ w as useEditItemTitle
43
+ };
@@ -0,0 +1,11 @@
1
+ import o from "./index.vue.js";
2
+ const r = function(t) {
3
+ t.component("TrHistory", o);
4
+ }, s = {
5
+ ...o,
6
+ install: r,
7
+ name: "TrHistory"
8
+ };
9
+ export {
10
+ s as default
11
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./index.vue2.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a5085e7d"]]);
5
+ export {
6
+ p as default
7
+ };
@@ -0,0 +1,130 @@
1
+ import { defineComponent as N, mergeModels as w, useCssVars as K, computed as u, useModel as F, createElementBlock as l, openBlock as i, createElementVNode as n, createCommentVNode as M, Fragment as p, renderList as k, normalizeClass as Q, toDisplayString as b, createVNode as v, unref as e, createBlock as $, withDirectives as U, mergeProps as W, withModifiers as A, vModelText as j } from "vue";
2
+ import { IconSearch as G, IconEditPen as R, IconDelete as H, IconClose as J } from "../../../svgs/dist/tiny-robot-svgs.js";
3
+ import C from "../../../../node_modules/.pnpm/@opentiny_vue-button@3.21.0/node_modules/@opentiny/vue-button/lib/index.js";
4
+ import O from "../../../../node_modules/.pnpm/@opentiny_vue-input@3.21.0/node_modules/@opentiny/vue-input/lib/index.js";
5
+ import X from "./components/item-tag.vue.js";
6
+ import Y from "./components/search-empty.vue.js";
7
+ import { useEditItemTitle as Z } from "./composables/useEditItemTitle.js";
8
+ const q = { class: "tr-history" }, ee = { class: "tr-history__tabs" }, te = ["onClick"], re = {
9
+ key: 0,
10
+ class: "tr-history__search"
11
+ }, ie = { class: "tr-history__content" }, se = { class: "tr-history__date" }, oe = ["onClick"], le = { class: "tr-history__item-title" }, ae = { class: "tr-history__item-actions" }, ne = { class: "tr-history__close" }, ve = /* @__PURE__ */ N({
12
+ __name: "index",
13
+ props: /* @__PURE__ */ w({
14
+ tabTitle: {},
15
+ data: {},
16
+ activeTab: {},
17
+ searchBar: { type: Boolean },
18
+ searchQuery: {},
19
+ searchPlaceholder: {},
20
+ searchFn: { type: Function, default: (c, { title: y }) => c ? y.toLowerCase().includes(c.toLowerCase()) : !0 },
21
+ selected: {},
22
+ tabs: {}
23
+ }, {
24
+ activeTab: {},
25
+ activeTabModifiers: {},
26
+ searchQuery: {},
27
+ searchQueryModifiers: {}
28
+ }),
29
+ emits: /* @__PURE__ */ w(["close", "item-click", "item-title-change", "item-delete"], ["update:activeTab", "update:searchQuery"]),
30
+ setup(c, { emit: y }) {
31
+ K((a) => ({
32
+ "8b6c417a": x.value ? "1px solid rgb(240, 240, 240)" : "none",
33
+ "744b1e9a": x.value ? "2px solid rgb(25, 25, 25)" : "none"
34
+ }));
35
+ const s = c, g = F(c, "activeTab"), h = F(c, "searchQuery"), m = y, f = u(() => Array.isArray(s.tabs) ? s.tabs : [{ title: s.tabTitle, id: "0" }]), T = u(() => g.value || f.value[0].id), x = u(() => f.value.length > 1), I = u(() => Array.isArray(s.data) ? s.data || [] : s.data[T.value] || []), B = u(() => s.searchBar ? I.value.map((t) => ({
36
+ ...t,
37
+ items: t.items.filter((r) => s.searchFn(h.value || "", r))
38
+ })).filter((t) => t.items.length > 0) : I.value), D = (a) => {
39
+ var t;
40
+ a.id !== ((t = _.value) == null ? void 0 : t.id) && m("item-click", a);
41
+ }, z = () => {
42
+ m("close");
43
+ }, P = (a) => {
44
+ m("item-delete", a);
45
+ }, { editingItem: _, handleEdit: S, handleEditorInputRef: L, handleKeyDown: V } = Z(m);
46
+ return (a, t) => (i(), l("div", q, [
47
+ n("div", ee, [
48
+ (i(!0), l(p, null, k(f.value, (r) => (i(), l("div", {
49
+ key: r.id,
50
+ class: Q(["tr-history__tab", { active: T.value === r.id }]),
51
+ onClick: (o) => g.value = r.id
52
+ }, b(r.title), 11, te))), 128))
53
+ ]),
54
+ s.searchBar ? (i(), l("div", re, [
55
+ v(e(O), {
56
+ modelValue: h.value,
57
+ "onUpdate:modelValue": t[0] || (t[0] = (r) => h.value = r),
58
+ placeholder: s.searchPlaceholder || "搜索对话名称",
59
+ "prefix-icon": e(G),
60
+ clearable: ""
61
+ }, null, 8, ["modelValue", "placeholder", "prefix-icon"])
62
+ ])) : M("", !0),
63
+ n("div", ie, [
64
+ B.value.length > 0 ? (i(!0), l(p, { key: 0 }, k(B.value, (r) => (i(), l("div", {
65
+ key: r.date,
66
+ class: "tr-history__group"
67
+ }, [
68
+ n("div", se, [
69
+ n("span", null, b(r.date), 1)
70
+ ]),
71
+ (i(!0), l(p, null, k(r.items, (o) => {
72
+ var E;
73
+ return i(), l("div", {
74
+ key: `${o.id}-${o.title}`,
75
+ class: Q(["tr-history__item", { selected: s.selected === o.id }]),
76
+ onClick: (d) => D(o)
77
+ }, [
78
+ ((E = e(_)) == null ? void 0 : E.id) !== o.id ? (i(), l(p, { key: 0 }, [
79
+ n("span", le, b(o.title), 1),
80
+ o.tag ? (i(), $(e(X), W({
81
+ key: 0,
82
+ class: "tr-history__item-tag",
83
+ ref_for: !0
84
+ }, o.tag), null, 16)) : M("", !0),
85
+ n("div", ae, [
86
+ v(e(C), {
87
+ icon: e(R),
88
+ type: "text",
89
+ size: "mini",
90
+ onClick: A((d) => e(S)(o), ["stop"])
91
+ }, null, 8, ["icon", "onClick"]),
92
+ v(e(C), {
93
+ icon: e(H),
94
+ type: "text",
95
+ size: "mini",
96
+ onClick: A((d) => P(o), ["stop"])
97
+ }, null, 8, ["icon", "onClick"])
98
+ ])
99
+ ], 64)) : U((i(), l("input", {
100
+ key: 1,
101
+ "onUpdate:modelValue": t[1] || (t[1] = (d) => e(_).title = d),
102
+ class: "tr-history__item-edit",
103
+ ref_for: !0,
104
+ ref: e(L),
105
+ onKeydown: t[2] || (t[2] = //@ts-ignore
106
+ (...d) => e(V) && e(V)(...d))
107
+ }, null, 544)), [
108
+ [j, e(_).title]
109
+ ])
110
+ ], 10, oe);
111
+ }), 128))
112
+ ]))), 128)) : (i(), $(e(Y), {
113
+ key: 1,
114
+ text: h.value ? "暂无搜索结果" : "暂无内容"
115
+ }, null, 8, ["text"]))
116
+ ]),
117
+ n("div", ne, [
118
+ v(e(C), {
119
+ icon: e(J),
120
+ type: "text",
121
+ size: "mini",
122
+ onClick: z
123
+ }, null, 8, ["icon"])
124
+ ])
125
+ ]));
126
+ }
127
+ });
128
+ export {
129
+ ve as default
130
+ };
@@ -0,0 +1,9 @@
1
+ import n from "./index.vue.js";
2
+ n.name = "TrIconButton";
3
+ const o = function(t) {
4
+ t.component(n.name, n);
5
+ };
6
+ n.install = o;
7
+ export {
8
+ n as default
9
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./index.vue2.js";
2
+ /* empty css */
3
+ import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-be35ecb5"]]);
5
+ export {
6
+ m as default
7
+ };
@@ -0,0 +1,40 @@
1
+ import { defineComponent as i, useCssVars as p, createBlock as n, createElementBlock as r, openBlock as e, unref as a, withCtx as l, createElementVNode as f, resolveDynamicComponent as c } from "vue";
2
+ import u from "../../../../node_modules/.pnpm/@opentiny_vue-tooltip@3.22.0/node_modules/@opentiny/vue-tooltip/lib/index.js";
3
+ const m = { class: "tr-icon-button" }, d = {
4
+ key: 1,
5
+ class: "tr-icon-button"
6
+ }, x = /* @__PURE__ */ i({
7
+ __name: "index",
8
+ props: {
9
+ icon: {},
10
+ size: { default: "24px" },
11
+ svgSize: { default: "16px" },
12
+ tooltip: {}
13
+ },
14
+ setup(s) {
15
+ p((o) => ({
16
+ "1bc6294b": t.size,
17
+ "2e5bfafb": t.svgSize
18
+ }));
19
+ const t = s;
20
+ return (o, _) => o.tooltip ? (e(), n(a(u), {
21
+ key: 0,
22
+ content: o.tooltip,
23
+ effect: "dark",
24
+ placement: "top",
25
+ "open-delay": 500
26
+ }, {
27
+ default: l(() => [
28
+ f("button", m, [
29
+ (e(), n(c(t.icon)))
30
+ ])
31
+ ]),
32
+ _: 1
33
+ }, 8, ["content"])) : (e(), r("button", d, [
34
+ (e(), n(c(t.icon)))
35
+ ]));
36
+ }
37
+ });
38
+ export {
39
+ x as default
40
+ };
@@ -1,7 +1,7 @@
1
1
  import o from "./prompt.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-3ef50849"]]);
4
+ const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e04bfae3"]]);
5
5
  export {
6
- f as default
6
+ a as default
7
7
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent as s, computed as c, createElementBlock as p, openBlock as t, normalizeClass as a, createElementVNode as o, createBlock as i, resolveDynamicComponent as l, createCommentVNode as b, toDisplayString as d } from "vue";
2
- const g = { class: "tr-prompt__icon" }, v = { class: "tr-prompt__content" }, C = { class: "tr-prompt__content-label" }, f = {
1
+ import { defineComponent as i, createElementBlock as s, openBlock as t, normalizeClass as r, createElementVNode as o, createBlock as a, resolveDynamicComponent as c, createCommentVNode as d, toDisplayString as n, Fragment as l, createTextVNode as _ } from "vue";
2
+ const m = { class: "tr-prompt__icon" }, b = { class: "tr-prompt__content" }, g = { class: "tr-prompt__content-label" }, y = {
3
3
  key: 0,
4
4
  class: "tr-prompt__content-description"
5
- }, k = /* @__PURE__ */ s({
5
+ }, u = /* @__PURE__ */ i({
6
6
  __name: "prompt",
7
7
  props: {
8
8
  label: {},
@@ -12,26 +12,28 @@ const g = { class: "tr-prompt__icon" }, v = { class: "tr-prompt__content" }, C =
12
12
  disabled: { type: Boolean },
13
13
  badge: {}
14
14
  },
15
- setup(_) {
16
- const e = _, r = (n) => n ? s(() => () => n) : null, m = c(() => r(e.icon)), u = c(() => r(e.badge));
17
- return (n, h) => (t(), p("div", {
18
- class: a(["tr-prompt", { disabled: e.disabled }])
15
+ setup(p) {
16
+ const e = p;
17
+ return (f, h) => (t(), s("div", {
18
+ class: r(["tr-prompt", { disabled: e.disabled }])
19
19
  }, [
20
- o("div", g, [
21
- (t(), i(l(m.value)))
20
+ o("div", m, [
21
+ (t(), a(c(e.icon)))
22
22
  ]),
23
- o("div", v, [
24
- o("h6", C, d(e.label), 1),
25
- e.description ? (t(), p("p", f, d(e.description), 1)) : b("", !0)
23
+ o("div", b, [
24
+ o("h6", g, n(e.label), 1),
25
+ e.description ? (t(), s("p", y, n(e.description), 1)) : d("", !0)
26
26
  ]),
27
27
  o("div", {
28
- class: a(["tr-prompt__badge", { label: typeof e.badge == "string" }])
28
+ class: r(["tr-prompt__badge", { label: typeof e.badge == "string" }])
29
29
  }, [
30
- (t(), i(l(u.value)))
30
+ typeof e.badge == "string" ? (t(), s(l, { key: 0 }, [
31
+ _(n(e.badge), 1)
32
+ ], 64)) : (t(), a(c(e.badge), { key: 1 }))
31
33
  ], 2)
32
34
  ], 2));
33
35
  }
34
36
  });
35
37
  export {
36
- k as default
38
+ u as default
37
39
  };