@opentiny/tiny-robot 0.3.0-alpha.3 → 0.3.0-alpha.4

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,5 +1,5 @@
1
- import { defineComponent as U, ref as p, computed as q, watch as K, watchEffect as ne, onMounted as Y, onBeforeUnmount as Z, createElementBlock as v, openBlock as g, normalizeClass as j, createElementVNode as u, withDirectives as oe, Fragment as z, renderList as M, createVNode as E, unref as w, toDisplayString as T, vShow as le, nextTick as ie, renderSlot as $, createCommentVNode as N, createBlock as P, normalizeStyle as ae, resolveComponent as ce, withCtx as O } from "vue";
2
- import { L as Q, P as G, f as re, l as ue, n as ge } from "../tiny-robot-svgs.js";
1
+ import { defineComponent as H, ref as p, computed as P, watch as W, watchEffect as ne, onMounted as Y, onBeforeUnmount as Z, createElementBlock as v, openBlock as g, normalizeClass as j, createElementVNode as u, withDirectives as oe, Fragment as z, renderList as M, createVNode as E, unref as w, toDisplayString as T, vShow as le, nextTick as ie, renderSlot as $, createCommentVNode as N, createBlock as L, normalizeStyle as ae, resolveComponent as ce, withCtx as O } from "vue";
2
+ import { A as Q, a as G, t as re, K as ue, U as ge } from "../tiny-robot-svgs.js";
3
3
  function de(l, c = "") {
4
4
  const s = document.createElement("div");
5
5
  c && (s.className = c), s.style.visibility = "hidden", s.style.position = "absolute", s.style.whiteSpace = "nowrap", s.textContent = l, document.body.appendChild(s);
@@ -14,7 +14,7 @@ function X(l, c = "") {
14
14
  const o = de(l, c);
15
15
  return F.set(s, o), o;
16
16
  }
17
- const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-suggestions_expanded-wrapper" }, pe = { class: "tr-common-suggestions_expanded-area" }, fe = ["onClick"], he = { class: "tr-common-suggestions_item_icon" }, ye = { class: "tr-common-suggestions_item_text" }, _e = { class: "tr-common-suggestions_container" }, ke = ["onClick"], Ce = { class: "tr-common-suggestions_item_icon" }, $e = { class: "tr-common-suggestions_item_text" }, xe = /* @__PURE__ */ U({
17
+ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-suggestions_expanded-wrapper" }, pe = { class: "tr-common-suggestions_expanded-area" }, he = ["onClick"], fe = { class: "tr-common-suggestions_item_icon" }, ye = { class: "tr-common-suggestions_item_text" }, _e = { class: "tr-common-suggestions_container" }, ke = ["onClick"], Ce = { class: "tr-common-suggestions_item_icon" }, $e = { class: "tr-common-suggestions_item_text" }, xe = /* @__PURE__ */ H({
18
18
  __name: "SuggestionCapsule",
19
19
  props: {
20
20
  suggestions: {
@@ -28,15 +28,15 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
28
28
  },
29
29
  emits: ["suggestion-click", "show-expand-button"],
30
30
  setup(l, { emit: c }) {
31
- const s = l, o = c, n = p(null), h = p(!1), t = p(!1), m = p([]), a = p([]), f = p(0), S = p(null), R = q(() => {
32
- if (f.value <= 0 || a.value.length === 0) return [];
31
+ const s = l, o = c, n = p(null), f = p(!1), t = p(!1), m = p([]), a = p([]), h = p(0), S = p(null), R = P(() => {
32
+ if (h.value <= 0 || a.value.length === 0) return [];
33
33
  const i = [], d = [...a.value];
34
34
  for (; d.length > 0; )
35
- i.push(d.splice(0, f.value));
35
+ i.push(d.splice(0, h.value));
36
36
  return i.reverse();
37
37
  }), b = async () => {
38
38
  if (await ie(), !n.value || s.suggestions.length === 0) {
39
- h.value = !1, o("show-expand-button", !1);
39
+ f.value = !1, o("show-expand-button", !1);
40
40
  return;
41
41
  }
42
42
  const d = n.value.clientWidth;
@@ -49,17 +49,17 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
49
49
  const I = X(s.suggestions[C].text, "tr-common-suggestions_item") + _;
50
50
  k += I;
51
51
  }
52
- const L = k / B;
53
- f.value = Math.max(1, Math.floor(d / L));
52
+ const q = k / B;
53
+ h.value = Math.max(1, Math.floor(d / q));
54
54
  for (let C = 0; C < s.suggestions.length; C++) {
55
- const I = s.suggestions[C], V = X(I.text, "tr-common-suggestions_item") + _;
56
- r + V <= d ? (r += V, m.value.push(I)) : a.value.push(I);
55
+ const I = s.suggestions[C], A = X(I.text, "tr-common-suggestions_item") + _;
56
+ r + A <= d ? (r += A, m.value.push(I)) : a.value.push(I);
57
57
  }
58
- h.value = a.value.length > 0, o("show-expand-button", h.value);
58
+ f.value = a.value.length > 0, o("show-expand-button", f.value);
59
59
  }, y = (i) => {
60
60
  o("suggestion-click", i);
61
61
  };
62
- return K(
62
+ return W(
63
63
  () => s.isExpanded,
64
64
  (i) => {
65
65
  t.value = i;
@@ -87,13 +87,13 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
87
87
  (g(!0), v(z, null, M(r, (k, B) => (g(), v("div", {
88
88
  key: `hidden-${k.id}-${B}`,
89
89
  class: "tr-common-suggestions_item",
90
- onClick: (L) => y(k)
90
+ onClick: (q) => y(k)
91
91
  }, [
92
- u("div", he, [
92
+ u("div", fe, [
93
93
  E(w(Q))
94
94
  ]),
95
95
  u("div", ye, T(k.text), 1)
96
- ], 8, fe))), 128))
96
+ ], 8, he))), 128))
97
97
  ]))), 128))
98
98
  ], 512), [
99
99
  [le, t.value && a.value.length > 0]
@@ -117,7 +117,7 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
117
117
  }), be = { class: "tr-suggestion-categories" }, we = ["onClick"], Se = {
118
118
  key: 0,
119
119
  class: "category-icon"
120
- }, Ie = /* @__PURE__ */ U({
120
+ }, Ie = /* @__PURE__ */ H({
121
121
  __name: "CategoryNav",
122
122
  props: {
123
123
  categories: {
@@ -134,7 +134,7 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
134
134
  const s = c, o = (n) => {
135
135
  s("category-select", n);
136
136
  };
137
- return (n, h) => (g(), v("div", be, [
137
+ return (n, f) => (g(), v("div", be, [
138
138
  (g(!0), v(z, null, M(l.categories, (t) => (g(), v("div", {
139
139
  key: t.id,
140
140
  class: j(["tr-suggestion-categories-item", { active: l.activeCategory === t.id }]),
@@ -150,7 +150,7 @@ const ve = { class: "tr-common-suggestions_content" }, me = { class: "tr-common-
150
150
  });
151
151
  function Ee(l, c = {}) {
152
152
  const s = p(c.initialIndex || -1);
153
- K(l, (t) => {
153
+ W(l, (t) => {
154
154
  t.length > 0 && s.value === -1 ? s.value = 0 : t.length === 0 ? s.value = -1 : s.value >= t.length && (s.value = t.length - 1);
155
155
  });
156
156
  const o = (t) => {
@@ -175,8 +175,8 @@ function Ee(l, c = {}) {
175
175
  setTimeout(() => {
176
176
  const t = document.querySelector(`.tr-suggestion-list-item:nth-child(${s.value + 1})`), m = t == null ? void 0 : t.closest(".tr-suggestion-content");
177
177
  if (t && m) {
178
- const a = m.getBoundingClientRect(), f = t.getBoundingClientRect();
179
- f.bottom > a.bottom ? m.scrollTop += f.bottom - a.bottom : f.top < a.top && (m.scrollTop -= a.top - f.top);
178
+ const a = m.getBoundingClientRect(), h = t.getBoundingClientRect();
179
+ h.bottom > a.bottom ? m.scrollTop += h.bottom - a.bottom : h.top < a.top && (m.scrollTop -= a.top - h.top);
180
180
  }
181
181
  }, 0);
182
182
  };
@@ -189,16 +189,16 @@ function Ee(l, c = {}) {
189
189
  }
190
190
  };
191
191
  }
192
- const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header" }, De = { class: "tr-suggestion-header-left" }, Oe = { class: "tr-suggestion-header-icon" }, Re = { class: "tr-suggestion-header-title" }, Ve = { class: "close-icon" }, We = {
192
+ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header" }, De = { class: "tr-suggestion-header-left" }, Oe = { class: "tr-suggestion-header-icon" }, Re = { class: "tr-suggestion-header-title" }, Ae = { class: "close-icon" }, Ke = {
193
193
  key: 0,
194
194
  class: "tr-suggestion-loading"
195
- }, Ae = { key: 1 }, Ke = ["onClick", "onMouseenter"], ze = { class: "item-content" }, Me = { class: "item-label" }, Ne = {
195
+ }, Ve = { key: 1 }, We = ["onClick", "onMouseenter"], ze = { class: "item-content" }, Me = { class: "item-label" }, Ne = {
196
196
  key: 0,
197
197
  class: "item-description"
198
- }, Le = {
198
+ }, qe = {
199
199
  key: 2,
200
200
  class: "tr-suggestion-empty"
201
- }, Pe = /* @__PURE__ */ U({
201
+ }, Le = /* @__PURE__ */ H({
202
202
  __name: "SuggestionPanel",
203
203
  props: {
204
204
  items: {
@@ -224,11 +224,11 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
224
224
  },
225
225
  emits: ["close", "select", "category-select", "item-hover"],
226
226
  setup(l, { expose: c, emit: s }) {
227
- const o = l, n = s, h = p(o.items), { handleKeyDown: t, activeIndex: m } = Ee(h, {
227
+ const o = l, n = s, f = p(o.items), { handleKeyDown: t, activeIndex: m } = Ee(f, {
228
228
  initialIndex: 0,
229
229
  onClose: () => n("close"),
230
230
  onSelect: (i) => n("select", i)
231
- }), a = p(o.categories.length > 0 ? o.categories[0].id : ""), f = q(() => {
231
+ }), a = p(o.categories.length > 0 ? o.categories[0].id : ""), h = P(() => {
232
232
  if (o.categories.length === 0 || !a.value)
233
233
  return o.items;
234
234
  const i = o.categories.find((d) => d.id === a.value);
@@ -260,12 +260,12 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
260
260
  class: "tr-suggestion-close-btn",
261
261
  onClick: b
262
262
  }, [
263
- u("span", Ve, [
263
+ u("span", Ae, [
264
264
  E(w(re))
265
265
  ])
266
266
  ])
267
267
  ]),
268
- l.categories.length > 0 ? (g(), P(Ie, {
268
+ l.categories.length > 0 ? (g(), L(Ie, {
269
269
  key: 0,
270
270
  categories: l.categories,
271
271
  "active-category": a.value,
@@ -273,14 +273,14 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
273
273
  }, null, 8, ["categories", "active-category"])) : N("", !0),
274
274
  u("div", {
275
275
  class: "tr-suggestion-content",
276
- style: ae({ "max-height": f.value.length > l.maxVisibleItems ? `${l.maxVisibleItems * 56}px` : "auto" })
276
+ style: ae({ "max-height": h.value.length > l.maxVisibleItems ? `${l.maxVisibleItems * 56}px` : "auto" })
277
277
  }, [
278
- l.loading ? (g(), v("div", We, [
278
+ l.loading ? (g(), v("div", Ke, [
279
279
  $(i.$slots, "loading-indicator", {}, () => [
280
280
  d[0] || (d[0] = u("div", { class: "tr-suggestion-loading-spinner" }, null, -1))
281
281
  ])
282
- ])) : f.value.length > 0 ? (g(), v("ul", Ae, [
283
- (g(!0), v(z, null, M(f.value, (r, _) => (g(), v("li", {
282
+ ])) : h.value.length > 0 ? (g(), v("ul", Ve, [
283
+ (g(!0), v(z, null, M(h.value, (r, _) => (g(), v("li", {
284
284
  key: r.id,
285
285
  class: j(["tr-suggestion-list-item", { "tr-suggestion-item-active": _ === w(m) }]),
286
286
  onClick: (k) => R(r),
@@ -295,8 +295,8 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
295
295
  r.description ? (g(), v("div", Ne, T(r.description), 1)) : N("", !0)
296
296
  ])
297
297
  ])
298
- ], 42, Ke))), 128))
299
- ])) : (g(), v("div", Le, [
298
+ ], 42, We))), 128))
299
+ ])) : (g(), v("div", qe, [
300
300
  $(i.$slots, "empty", {}, () => [
301
301
  d[1] || (d[1] = u("p", null, "无匹配结果", -1))
302
302
  ])
@@ -304,7 +304,7 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
304
304
  ], 4)
305
305
  ]));
306
306
  }
307
- }), qe = (l) => {
307
+ }), Pe = (l) => {
308
308
  const c = (o) => l.triggerKeys.includes(o);
309
309
  return {
310
310
  isTriggerKey: c,
@@ -317,7 +317,7 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
317
317
  } : null;
318
318
  }
319
319
  };
320
- }, He = { class: "tr-suggestion__header" }, H = /* @__PURE__ */ U({
320
+ }, Ue = { class: "tr-suggestion__header" }, U = /* @__PURE__ */ H({
321
321
  __name: "index",
322
322
  props: {
323
323
  triggerKeys: { default: () => ["/"] },
@@ -334,24 +334,24 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
334
334
  },
335
335
  emits: ["update:open", "select", "close", "trigger", "category-select", "suggestion-select", "update:expanded", "fill-template"],
336
336
  setup(l, { expose: c, emit: s }) {
337
- const o = l, n = s, h = p(!1), t = p([]), m = p({
337
+ const o = l, n = s, f = p(!1), t = p([]), m = p({
338
338
  text: "",
339
339
  position: 0
340
- }), a = p(o.defaultExpanded), f = p(!1), S = () => {
340
+ }), a = p(o.defaultExpanded), h = p(!1), S = () => {
341
341
  a.value = !a.value, n("update:expanded", a.value);
342
342
  }, R = (e) => {
343
- f.value = e;
344
- }, b = p(""), y = p(-1), i = p(null), d = p(null), r = q(() => o.open !== void 0 ? o.open : h.value), _ = q(() => {
343
+ h.value = e;
344
+ }, b = p(""), y = p(-1), i = p(null), d = p(null), r = P(() => o.open !== void 0 ? o.open : f.value), _ = P(() => {
345
345
  if (o.categories.length === 0 || !b.value)
346
346
  return t.value;
347
347
  const e = o.categories.find((x) => x.id === b.value);
348
348
  return e ? e.items : [];
349
349
  });
350
- K(r, (e) => {
350
+ W(r, (e) => {
351
351
  e ? y.value = _.value.length > 0 ? 0 : -1 : y.value = -1;
352
- }), K(_, (e) => {
352
+ }), W(_, (e) => {
353
353
  e.length > 0 && y.value === -1 ? y.value = 0 : e.length === 0 ? y.value = -1 : y.value >= e.length && (y.value = e.length - 1);
354
- }), K(
354
+ }), W(
355
355
  () => o.categories,
356
356
  (e) => {
357
357
  e.length > 0 && !b.value && (b.value = e[0].id);
@@ -360,34 +360,34 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
360
360
  );
361
361
  const k = () => {
362
362
  t.value = [...o.items];
363
- }, { detectTrigger: B } = qe(o), L = (e) => {
363
+ }, { detectTrigger: B } = Pe(o), q = (e) => {
364
364
  n("suggestion-select", e), n("select", e.value, {
365
365
  text: "",
366
366
  position: 0
367
367
  }), e.template && n("fill-template", e.template);
368
368
  }, C = (e) => {
369
- e === !1 ? W() : (typeof e == "object" && e !== null && (m.value = {
369
+ e === !1 ? K() : (typeof e == "object" && e !== null && (m.value = {
370
370
  text: e.text || "",
371
371
  position: e.position || 0
372
- }), k(), h.value = !0, n("update:open", !0));
372
+ }), k(), f.value = !0, n("update:open", !0));
373
373
  }, I = (e, x) => {
374
- const A = B(e, x);
375
- return A ? (m.value = A, C(A), !0) : r.value && x === "" ? (C(!1), !0) : !1;
376
- }, V = (e) => {
374
+ const V = B(e, x);
375
+ return V ? (m.value = V, C(V), !0) : r.value && x === "" ? (C(!1), !0) : !1;
376
+ }, A = (e) => {
377
377
  if (r.value && d.value) {
378
378
  d.value.handleKeyDown(e);
379
379
  return;
380
380
  }
381
- }, W = () => {
382
- o.open === void 0 && (h.value = !1), n("update:open", !1), n("close");
381
+ }, K = () => {
382
+ o.open === void 0 && (f.value = !1), n("update:open", !1), n("close");
383
383
  }, ee = (e) => {
384
384
  b.value = e.id, y.value = 0, n("category-select", e);
385
385
  }, te = (e, x) => {
386
- n("select", e.text, x), e.template && n("fill-template", e.template), W();
386
+ n("select", e.text, x), e.template && n("fill-template", e.template), K();
387
387
  }, J = (e) => {
388
- o.closeOnOutsideClick && r.value && i.value && !i.value.contains(e.target) && W();
388
+ o.closeOnOutsideClick && r.value && i.value && !i.value.contains(e.target) && K();
389
389
  }, se = () => {
390
- r.value ? W() : (k(), h.value = !0, n("update:open", !0));
390
+ r.value ? K() : (k(), f.value = !0, n("update:open", !0));
391
391
  };
392
392
  return Y(() => {
393
393
  o.closeOnOutsideClick && document.addEventListener("click", J);
@@ -395,17 +395,17 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
395
395
  o.closeOnOutsideClick && document.removeEventListener("click", J);
396
396
  }), c({
397
397
  trigger: C,
398
- keyDown: V,
398
+ keyDown: A,
399
399
  input: I,
400
400
  toggleExpand: S
401
401
  }), (e, x) => {
402
- const A = ce("IconEdit");
402
+ const V = ce("IconEdit");
403
403
  return g(), v("div", {
404
404
  ref_key: "rootRef",
405
405
  ref: i,
406
406
  class: j(["tr-suggestion", e.className, { "tr-suggestion--dark": e.theme === "dark" }])
407
407
  }, [
408
- u("div", He, [
408
+ u("div", Ue, [
409
409
  u("div", {
410
410
  class: "tr-suggestion__trigger",
411
411
  onClick: se
@@ -415,32 +415,32 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
415
415
  E(xe, {
416
416
  suggestions: e.items,
417
417
  isExpanded: a.value,
418
- onSuggestionClick: L,
418
+ onSuggestionClick: q,
419
419
  onShowExpandButton: R
420
420
  }, {
421
421
  "suggestion-icon": O((D) => [
422
422
  $(e.$slots, "capsule-icon", {
423
423
  suggestion: D.suggestion
424
424
  }, () => [
425
- E(A)
425
+ E(V)
426
426
  ])
427
427
  ]),
428
428
  _: 3
429
429
  }, 8, ["suggestions", "isExpanded"]),
430
- f.value ? (g(), v("div", {
430
+ h.value ? (g(), v("div", {
431
431
  key: 0,
432
432
  class: "tr-suggestion__expand-button",
433
433
  onClick: S
434
434
  }, [
435
- a.value ? (g(), P(w(ge), { key: 1 })) : (g(), P(w(ue), { key: 0 }))
435
+ a.value ? (g(), L(w(ge), { key: 1 })) : (g(), L(w(ue), { key: 0 }))
436
436
  ])) : N("", !0)
437
437
  ]),
438
438
  $(e.$slots, "trigger", {
439
439
  onTrigger: C,
440
- onKeyDown: V,
440
+ onKeyDown: A,
441
441
  onInput: I
442
442
  }),
443
- r.value ? (g(), P(Pe, {
443
+ r.value ? (g(), L(Le, {
444
444
  key: 0,
445
445
  ref_key: "panelRef",
446
446
  ref: d,
@@ -451,7 +451,7 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
451
451
  title: e.title,
452
452
  maxVisibleItems: e.maxVisibleItems,
453
453
  triggerContext: m.value,
454
- onClose: W,
454
+ onClose: K,
455
455
  onSelect: te,
456
456
  onCategorySelect: ee
457
457
  }, {
@@ -487,11 +487,11 @@ const Te = { class: "tr-suggestion-panel" }, Be = { class: "tr-suggestion-header
487
487
  };
488
488
  }
489
489
  });
490
- H.name = "TrSuggestion";
491
- const Ue = function(l) {
492
- l.component(H.name, H);
490
+ U.name = "TrSuggestion";
491
+ const He = function(l) {
492
+ l.component(U.name, U);
493
493
  };
494
- H.install = Ue;
494
+ U.install = He;
495
495
  export {
496
- H as default
496
+ U as default
497
497
  };