@opentiny/tiny-robot 0.3.0-alpha.1 → 0.3.0-alpha.10

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,15 +1,15 @@
1
- import { ref as m, computed as H, watch as D, defineComponent as Z, onMounted as X, onBeforeUnmount as ne, createElementBlock as d, openBlock as i, normalizeClass as V, createElementVNode as t, withDirectives as le, Fragment as L, renderList as R, createVNode as T, unref as q, toDisplayString as S, vShow as ie, nextTick as ae, createCommentVNode as U, withModifiers as ce, normalizeStyle as ue, renderSlot as B, createTextVNode as ee, createBlock as J, withCtx as N } from "vue";
2
- import { C as K, x as te, Z as se, f as de, A as re } from "../tiny-robot-svgs.js";
1
+ import { ref as m, computed as A, watch as H, defineComponent as X, onMounted as Z, onBeforeUnmount as ne, createElementBlock as d, openBlock as i, normalizeClass as N, createElementVNode as t, withDirectives as le, Fragment as R, renderList as V, createVNode as T, unref as q, toDisplayString as S, vShow as ie, nextTick as ae, createCommentVNode as U, withModifiers as ce, normalizeStyle as ue, renderSlot as B, createTextVNode as ee, createBlock as J, withCtx as I } from "vue";
2
+ import { e as K, X as te, y as se, V as de, W as re } from "../tiny-robot-svgs.js";
3
3
  import { i as me } from "../close.js";
4
- import { B as ve } from "../index3.js";
4
+ import { B as ve } from "../index5.js";
5
5
  function he(v = m([])) {
6
- const x = m(""), y = m(!1), a = m(!1), r = m("light"), k = H(() => {
7
- if (!x.value && v.value.length > 0)
6
+ const w = m(""), y = m(!1), a = m(!1), r = m("light"), k = A(() => {
7
+ if (!w.value && v.value.length > 0)
8
8
  return v.value[0].questions;
9
- const s = v.value.find((l) => l.id === x.value);
9
+ const s = v.value.find((l) => l.id === w.value);
10
10
  return s ? s.questions : [];
11
- }), w = (s) => {
12
- x.value = s;
11
+ }), x = (s) => {
12
+ w.value = s;
13
13
  }, p = () => {
14
14
  a.value = !0;
15
15
  }, _ = () => {
@@ -19,20 +19,20 @@ function he(v = m([])) {
19
19
  }, b = (s) => {
20
20
  const l = document.body;
21
21
  if (s) {
22
- const Q = window.scrollY || document.documentElement.scrollTop;
23
- l.style.position = "fixed", l.style.width = "100%", l.style.top = `-${Q}px`, l.style.overflowY = "scroll", l.classList.add("tr-modal-open");
22
+ const W = window.scrollY || document.documentElement.scrollTop;
23
+ l.style.position = "fixed", l.style.width = "100%", l.style.top = `-${W}px`, l.style.overflowY = "scroll", l.classList.add("tr-modal-open");
24
24
  } else
25
25
  l.style.position = "", l.style.width = "", l.style.top = "", l.style.overflowY = "", l.classList.remove("tr-modal-open");
26
26
  };
27
- return D(a, (s) => {
27
+ return H(a, (s) => {
28
28
  b(s);
29
29
  }), {
30
- activeCategory: x,
30
+ activeCategory: w,
31
31
  isFloatingExpanded: y,
32
32
  modalVisible: a,
33
33
  currentTheme: r,
34
34
  activeQuestions: k,
35
- setActiveCategory: w,
35
+ setActiveCategory: x,
36
36
  openModal: p,
37
37
  closeModal: _,
38
38
  toggleFloating: c,
@@ -46,7 +46,7 @@ function he(v = m([])) {
46
46
  toggleBodyScroll: b
47
47
  };
48
48
  }
49
- const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-questions_expanded-wrapper" }, ge = { class: "tr-common-questions_expanded-area" }, ye = ["onClick"], ke = { class: "tr-common-questions_item_icon" }, _e = { class: "tr-common-questions_item_text" }, Ce = { class: "tr-common-questions_container" }, qe = ["onClick"], $e = { class: "tr-common-questions_item_icon" }, xe = { class: "tr-common-questions_item_text" }, we = /* @__PURE__ */ Z({
49
+ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-questions_expanded-wrapper" }, ge = { class: "tr-common-questions_expanded-area" }, ye = ["onClick"], ke = { class: "tr-common-questions_item_icon" }, _e = { class: "tr-common-questions_item_text" }, Ce = { class: "tr-common-questions_container" }, qe = ["onClick"], $e = { class: "tr-common-questions_item_icon" }, we = { class: "tr-common-questions_item_text" }, xe = /* @__PURE__ */ X({
50
50
  __name: "CommonQuestions",
51
51
  props: {
52
52
  questions: {
@@ -59,8 +59,8 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
59
59
  }
60
60
  },
61
61
  emits: ["question-click", "toggle-expand", "hover-change"],
62
- setup(v, { emit: x }) {
63
- const y = v, a = x, r = m(null), k = m(!1), w = m(!1), p = m(!1), _ = m([]), c = m([]), b = m(0), f = m(null), o = H(() => c.value.length > 0), u = H(() => {
62
+ setup(v, { emit: w }) {
63
+ const y = v, a = w, r = m(null), k = m(!1), x = m(!1), p = m(!1), _ = m([]), c = m([]), b = m(0), f = m(null), o = A(() => c.value.length > 0), u = A(() => {
64
64
  if (b.value <= 0 || c.value.length === 0) return [];
65
65
  const e = [], h = [...c.value];
66
66
  for (; h.length > 0; )
@@ -68,51 +68,51 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
68
68
  return e.reverse();
69
69
  }), s = (e, h, $ = 40) => {
70
70
  if (h.length === 0) return 0;
71
- const E = e.clientWidth, W = 8, g = document.createElement("div");
71
+ const E = e.clientWidth, Q = 8, g = document.createElement("div");
72
72
  g.className = "tr-common-questions_item", g.style.visibility = "hidden", g.style.position = "absolute", e.appendChild(g);
73
73
  let O = 0;
74
- const z = Math.min(3, h.length);
75
- for (let A = 0; A < z; A++) {
76
- g.innerHTML = `<span class="icon-placeholder"></span>${h[A].text}`;
77
- const j = g.offsetWidth + W + 24;
74
+ const L = Math.min(3, h.length);
75
+ for (let z = 0; z < L; z++) {
76
+ g.innerHTML = `<span class="icon-placeholder"></span>${h[z].text}`;
77
+ const j = g.offsetWidth + Q + 24;
78
78
  O += j;
79
79
  }
80
- const M = O / z;
80
+ const M = O / L;
81
81
  return e.removeChild(g), {
82
82
  maxItemsCount: Math.max(1, Math.floor((E - $) / M))
83
83
  };
84
84
  }, l = (e, h, $, E = 40) => {
85
85
  const g = [], O = [];
86
- let z = 0;
86
+ let L = 0;
87
87
  if (h.length === 0)
88
88
  return { visible: g, hidden: O };
89
89
  const M = document.createElement("div");
90
90
  M.className = "tr-common-questions_item", M.style.visibility = "hidden", M.style.position = "absolute", e.appendChild(M);
91
- for (let A = 0; A < h.length; A++) {
92
- const I = h[A];
93
- M.innerHTML = `<span class="icon-placeholder"></span>${I.text}`;
91
+ for (let z = 0; z < h.length; z++) {
92
+ const D = h[z];
93
+ M.innerHTML = `<span class="icon-placeholder"></span>${D.text}`;
94
94
  const G = M.offsetWidth + 8 + 24, oe = $ - E;
95
- z + G <= oe ? (z += G, g.push(I)) : O.push(I);
95
+ L + G <= oe ? (L += G, g.push(D)) : O.push(D);
96
96
  }
97
97
  return e.removeChild(M), { visible: g, hidden: O };
98
98
  };
99
- D(
99
+ H(
100
100
  () => y.isExpanded,
101
101
  (e) => {
102
102
  p.value = e, e ? _.value.pop() : _.value.push(c.value[0]);
103
103
  }
104
104
  );
105
- const Q = async () => {
105
+ const W = async () => {
106
106
  if (await ae(), r.value) {
107
107
  const e = r.value, h = e.clientWidth, $ = 40;
108
108
  if (_.value = [], c.value = [], y.questions.length === 0) {
109
- w.value = !1;
109
+ x.value = !1;
110
110
  return;
111
111
  }
112
112
  const { maxItemsCount: E } = s(e, y.questions, $);
113
113
  b.value = E;
114
- const { visible: W, hidden: g } = l(e, y.questions, h, $);
115
- _.value = W, c.value = g, c.value.length > 0 && _.value.push(c.value[0]), w.value = c.value.length > 0, y.isExpanded || (p.value = !1);
114
+ const { visible: Q, hidden: g } = l(e, y.questions, h, $);
115
+ _.value = Q, c.value = g, c.value.length > 0 && _.value.push(c.value[0]), x.value = c.value.length > 0, y.isExpanded || (p.value = !1);
116
116
  }
117
117
  }, P = () => {
118
118
  f.value && (clearTimeout(f.value), f.value = null), k.value = !0, a("hover-change", !0);
@@ -123,22 +123,22 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
123
123
  }, n = (e) => {
124
124
  a("question-click", e);
125
125
  };
126
- D(
126
+ H(
127
127
  () => y.questions,
128
128
  () => {
129
- Q();
129
+ W();
130
130
  },
131
131
  { deep: !0 }
132
132
  );
133
133
  const C = () => {
134
- Q();
134
+ W();
135
135
  };
136
- return X(() => {
137
- Q(), window.addEventListener("resize", C);
136
+ return Z(() => {
137
+ W(), window.addEventListener("resize", C);
138
138
  }), ne(() => {
139
139
  window.removeEventListener("resize", C), f.value && (window.clearTimeout(f.value), f.value = null);
140
140
  }), (e, h) => (i(), d("div", {
141
- class: V(["tr-common-questions", { expanded: p.value }]),
141
+ class: N(["tr-common-questions", { expanded: p.value }]),
142
142
  ref_key: "commonQuestionsRef",
143
143
  ref: r,
144
144
  onMouseenter: P,
@@ -147,19 +147,19 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
147
147
  t("div", pe, [
148
148
  t("div", fe, [
149
149
  le(t("div", ge, [
150
- (i(!0), d(L, null, R(u.value, ($, E) => (i(), d("div", {
150
+ (i(!0), d(R, null, V(u.value, ($, E) => (i(), d("div", {
151
151
  key: `row-${E}`,
152
152
  class: "tr-common-questions_row"
153
153
  }, [
154
- (i(!0), d(L, null, R($, (W, g) => (i(), d("div", {
155
- key: `hidden-${W.id}-${g}`,
154
+ (i(!0), d(R, null, V($, (Q, g) => (i(), d("div", {
155
+ key: `hidden-${Q.id}-${g}`,
156
156
  class: "tr-common-questions_item",
157
- onClick: (O) => n(W)
157
+ onClick: (O) => n(Q)
158
158
  }, [
159
159
  t("div", ke, [
160
160
  T(q(K))
161
161
  ]),
162
- t("div", _e, S(W.text), 1)
162
+ t("div", _e, S(Q.text), 1)
163
163
  ], 8, ye))), 128))
164
164
  ]))), 128))
165
165
  ], 512), [
@@ -167,30 +167,30 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
167
167
  ])
168
168
  ]),
169
169
  t("div", Ce, [
170
- (i(!0), d(L, null, R(_.value, ($, E) => (i(), d("div", {
170
+ (i(!0), d(R, null, V(_.value, ($, E) => (i(), d("div", {
171
171
  key: `visible-${$.id}-${E}`,
172
- class: V(["tr-common-questions_item", { "last-item": !p.value && E === _.value.length - 1 && o.value }]),
173
- onClick: (W) => n($)
172
+ class: N(["tr-common-questions_item", { "last-item": !p.value && E === _.value.length - 1 && o.value }]),
173
+ onClick: (Q) => n($)
174
174
  }, [
175
175
  t("div", $e, [
176
176
  T(q(K))
177
177
  ]),
178
- t("div", xe, S($.text), 1)
178
+ t("div", we, S($.text), 1)
179
179
  ], 10, qe))), 128))
180
180
  ])
181
181
  ])
182
182
  ], 34));
183
183
  }
184
- }), be = { class: "tr-question-header" }, Ee = { style: { display: "flex", "align-items": "center", gap: "12px", "font-size": "36px" } }, Qe = {
184
+ }), be = { class: "tr-question-header" }, Ee = { style: { display: "flex", "align-items": "center", gap: "12px", "font-size": "36px" } }, We = {
185
185
  key: 0,
186
186
  class: "tr-question-categories"
187
- }, We = ["onClick"], Me = { class: "category-icon" }, Te = { class: "tr-question-content" }, Be = {
187
+ }, Qe = ["onClick"], Me = { class: "category-icon" }, Te = { class: "tr-question-content" }, Be = {
188
188
  key: 0,
189
189
  class: "tr-question-loading"
190
- }, Se = { key: 1 }, Oe = ["onClick"], Ae = {
190
+ }, Se = { key: 1 }, Oe = ["onClick"], ze = {
191
191
  key: 2,
192
192
  class: "tr-question-empty"
193
- }, ze = /* @__PURE__ */ Z({
193
+ }, Le = /* @__PURE__ */ X({
194
194
  __name: "HotQuestions",
195
195
  props: {
196
196
  visible: {
@@ -215,14 +215,14 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
215
215
  }
216
216
  },
217
217
  emits: ["update:visible", "close", "select-category", "question-click"],
218
- setup(v, { emit: x }) {
219
- const y = me(), a = v, r = x, k = m(""), w = H(() => {
218
+ setup(v, { emit: w }) {
219
+ const y = me(), a = v, r = w, k = m(""), x = A(() => {
220
220
  if (!k.value && a.categories.length > 0)
221
221
  return a.categories[0].questions || [];
222
222
  const o = a.categories.find((u) => u.id === k.value);
223
223
  return o ? o.questions : [];
224
224
  });
225
- D(
225
+ H(
226
226
  () => a.categories,
227
227
  (o) => {
228
228
  o.length > 0 && !k.value && (k.value = o[0].id);
@@ -271,10 +271,10 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
271
271
  }, null, 8, ["icon"])
272
272
  ])
273
273
  ]),
274
- v.categories.length > 0 ? (i(), d("div", Qe, [
275
- (i(!0), d(L, null, R(v.categories, (s) => (i(), d("div", {
274
+ v.categories.length > 0 ? (i(), d("div", We, [
275
+ (i(!0), d(R, null, V(v.categories, (s) => (i(), d("div", {
276
276
  key: s.id,
277
- class: V(["tr-question-categories-item", { active: k.value === s.id }]),
277
+ class: N(["tr-question-categories-item", { active: k.value === s.id }]),
278
278
  onClick: (l) => _(s.id)
279
279
  }, [
280
280
  B(o.$slots, "category-label", { category: s }, () => [
@@ -283,18 +283,18 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
283
283
  ]),
284
284
  t("span", null, S(s.label), 1)
285
285
  ])
286
- ], 10, We))), 128))
286
+ ], 10, Qe))), 128))
287
287
  ])) : U("", !0),
288
288
  t("div", Te, [
289
289
  v.loading ? (i(), d("div", Be, [
290
290
  B(o.$slots, "loading-indicator", {}, () => [
291
291
  u[2] || (u[2] = t("div", { class: "tr-question-loading-spinner" }, null, -1))
292
292
  ])
293
- ])) : w.value.length > 0 ? (i(), d("ul", Se, [
294
- (i(!0), d(L, null, R(w.value, (s, l) => (i(), d("li", {
293
+ ])) : x.value.length > 0 ? (i(), d("ul", Se, [
294
+ (i(!0), d(R, null, V(x.value, (s, l) => (i(), d("li", {
295
295
  key: s.id,
296
296
  class: "tr-question-list-item",
297
- onClick: (Q) => c(s)
297
+ onClick: (W) => c(s)
298
298
  }, [
299
299
  B(o.$slots, "question-item", {
300
300
  question: s,
@@ -304,7 +304,7 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
304
304
  ee(" " + S(s.text), 1)
305
305
  ])
306
306
  ], 8, Oe))), 128))
307
- ])) : (i(), d("div", Ae, [
307
+ ])) : (i(), d("div", ze, [
308
308
  B(o.$slots, "empty-state", {}, () => [
309
309
  u[3] || (u[3] = t("p", null, "暂无相关问题", -1))
310
310
  ])
@@ -313,7 +313,7 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
313
313
  ], 36)
314
314
  ], 32)) : U("", !0);
315
315
  }
316
- }), Le = ["data-theme"], Re = { class: "tr-question__header" }, He = { class: "category-icon" }, F = /* @__PURE__ */ Z({
316
+ }), Re = ["data-theme"], Ve = { class: "tr-question__header" }, Ae = { class: "category-icon" }, F = /* @__PURE__ */ X({
317
317
  __name: "index",
318
318
  props: {
319
319
  categories: { default: () => [] },
@@ -325,36 +325,36 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
325
325
  loading: { type: Boolean, default: !1 }
326
326
  },
327
327
  emits: ["question-click", "select-category"],
328
- setup(v, { expose: x, emit: y }) {
328
+ setup(v, { expose: w, emit: y }) {
329
329
  const a = v, r = () => {
330
330
  p.value = !p.value;
331
- }, k = y, w = H(() => a.categories), p = m(a.initialExpanded), _ = m(!1), { modalVisible: c, currentTheme: b, setActiveCategory: f, openModal: o, closeModal: u, setTheme: s, refreshData: l } = he(w);
332
- D(
331
+ }, k = y, x = A(() => a.categories), p = m(a.initialExpanded), _ = m(!1), { modalVisible: c, currentTheme: b, setActiveCategory: f, openModal: o, closeModal: u, setTheme: s, refreshData: l } = he(x);
332
+ H(
333
333
  () => a.theme,
334
334
  (n) => {
335
335
  s(n);
336
336
  }
337
337
  );
338
- const Q = (n) => {
338
+ const W = (n) => {
339
339
  u(), k("question-click", n);
340
340
  }, P = (n) => {
341
341
  _.value = n;
342
342
  }, Y = (n) => {
343
343
  n && (f(n.id), k("select-category", n));
344
344
  };
345
- return X(() => {
345
+ return Z(() => {
346
346
  document.documentElement.setAttribute("data-theme", b.value);
347
- }), x({
347
+ }), w({
348
348
  openModal: o,
349
349
  closeModal: u,
350
350
  toggleFloating: r,
351
351
  setActiveCategory: f,
352
352
  refreshData: l
353
353
  }), (n, C) => (i(), d("div", {
354
- class: V(["tr-question-container", [`theme-${n.theme}`]]),
354
+ class: N(["tr-question-container", [`theme-${n.theme}`]]),
355
355
  "data-theme": n.theme
356
356
  }, [
357
- t("div", Re, [
357
+ t("div", Ve, [
358
358
  t("div", {
359
359
  class: "tr-question__trigger",
360
360
  onClick: C[0] || (C[0] = //@ts-ignore
@@ -362,10 +362,10 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
362
362
  }, [
363
363
  T(q(te), { style: { color: "#1476ff" } })
364
364
  ]),
365
- T(we, {
365
+ T(xe, {
366
366
  questions: n.commonQuestions,
367
367
  isExpanded: p.value,
368
- onQuestionClick: Q,
368
+ onQuestionClick: W,
369
369
  onHoverChange: P
370
370
  }, null, 8, ["questions", "isExpanded"]),
371
371
  _.value ? (i(), d("div", {
@@ -376,26 +376,26 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
376
376
  p.value ? (i(), J(q(re), { key: 1 })) : (i(), J(q(de), { key: 0 }))
377
377
  ])) : U("", !0)
378
378
  ]),
379
- T(ze, {
379
+ T(Le, {
380
380
  visible: q(c),
381
- categories: w.value,
381
+ categories: x.value,
382
382
  "modal-width": n.modalWidth,
383
383
  loading: n.loading,
384
384
  "close-on-click-outside": n.closeOnClickOutside,
385
385
  "onUpdate:visible": C[1] || (C[1] = (e) => c.value = e),
386
386
  onClose: C[2] || (C[2] = (e) => c.value = !1),
387
- onQuestionClick: Q,
387
+ onQuestionClick: W,
388
388
  onSelectCategory: Y
389
389
  }, {
390
- "category-label": N(({ category: e }) => [
390
+ "category-label": I(({ category: e }) => [
391
391
  B(n.$slots, "category-label", { category: e }, () => [
392
- t("div", He, [
392
+ t("div", Ae, [
393
393
  T(q(se))
394
394
  ]),
395
395
  t("span", null, S(e.label), 1)
396
396
  ])
397
397
  ]),
398
- "question-item": N(({ question: e, index: h }) => [
398
+ "question-item": I(({ question: e, index: h }) => [
399
399
  B(n.$slots, "question-item", {
400
400
  question: e,
401
401
  index: h
@@ -404,26 +404,26 @@ const pe = { class: "tr-common-questions_content" }, fe = { class: "tr-common-qu
404
404
  ee(" " + S(e.text), 1)
405
405
  ])
406
406
  ]),
407
- "loading-indicator": N(() => [
407
+ "loading-indicator": I(() => [
408
408
  B(n.$slots, "loading-indicator", {}, () => [
409
409
  C[3] || (C[3] = t("div", { class: "tr-question-loading-spinner" }, null, -1))
410
410
  ])
411
411
  ]),
412
- "empty-state": N(() => [
412
+ "empty-state": I(() => [
413
413
  B(n.$slots, "empty-state", {}, () => [
414
414
  C[4] || (C[4] = t("p", null, "暂无相关问题", -1))
415
415
  ])
416
416
  ]),
417
417
  _: 3
418
418
  }, 8, ["visible", "categories", "modal-width", "loading", "close-on-click-outside"])
419
- ], 10, Le));
419
+ ], 10, Re));
420
420
  }
421
421
  });
422
422
  F.name = "TrQuestion";
423
- const De = function(v) {
423
+ const He = function(v) {
424
424
  v.component(F.name, F);
425
425
  };
426
- F.install = De;
426
+ F.install = He;
427
427
  export {
428
428
  F as default
429
429
  };