nightshade 1.5.1 → 2.0.0-dev.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.
Files changed (47) hide show
  1. package/package.json +11 -38
  2. package/dist/ListNavController-drNtDwz9.js +0 -307
  3. package/dist/ThemeManager-DzxPhS21.js +0 -57
  4. package/dist/bundle.js +0 -31
  5. package/dist/components.css +0 -1
  6. package/dist/components.js +0 -19
  7. package/dist/index-Cb5d2Qo6.js +0 -1060
  8. package/dist/lib/components/Btn.vue.d.ts +0 -175
  9. package/dist/lib/components/Bubble.vue.d.ts +0 -23
  10. package/dist/lib/components/Circle.vue.d.ts +0 -14
  11. package/dist/lib/components/ContextMenu.vue.d.ts +0 -81
  12. package/dist/lib/components/ContextPopup.vue.d.ts +0 -86
  13. package/dist/lib/components/HGroup.vue.d.ts +0 -47
  14. package/dist/lib/components/HStack.vue.d.ts +0 -2
  15. package/dist/lib/components/InputBase.vue.d.ts +0 -121
  16. package/dist/lib/components/InputSelect.vue.d.ts +0 -20
  17. package/dist/lib/components/InputText.vue.d.ts +0 -11
  18. package/dist/lib/components/InputTextarea.vue.d.ts +0 -11
  19. package/dist/lib/components/Sizer.vue.d.ts +0 -2
  20. package/dist/lib/components/Switch.vue.d.ts +0 -77
  21. package/dist/lib/components/Tab.vue.d.ts +0 -22
  22. package/dist/lib/components/TabCap.vue.d.ts +0 -23
  23. package/dist/lib/components/VGroup.vue.d.ts +0 -38
  24. package/dist/lib/components/index.d.ts +0 -17
  25. package/dist/lib/index.d.ts +0 -4
  26. package/dist/lib/utils/ExpanderController.d.ts +0 -11
  27. package/dist/lib/utils/ListNavController.d.ts +0 -92
  28. package/dist/lib/utils/SelectionController.d.ts +0 -16
  29. package/dist/lib/utils/ThemeManager.d.ts +0 -15
  30. package/dist/lib/utils/dom.d.ts +0 -4
  31. package/dist/lib/utils/event-proxy.d.ts +0 -22
  32. package/dist/lib/utils/icons.d.ts +0 -3
  33. package/dist/lib/utils/index.d.ts +0 -8
  34. package/dist/lib/utils/point.d.ts +0 -4
  35. package/dist/utils.js +0 -13
  36. package/stylesheets/baseline.css +0 -50
  37. package/stylesheets/full.css +0 -7
  38. package/stylesheets/modules/article.css +0 -37
  39. package/stylesheets/modules/kbd.css +0 -34
  40. package/stylesheets/modules/transitions.css +0 -106
  41. package/stylesheets/modules/utils.css +0 -44
  42. package/stylesheets/variables/color-tokens.css +0 -168
  43. package/stylesheets/variables/commons.css +0 -37
  44. package/stylesheets/variables/spacing.css +0 -20
  45. package/stylesheets/variables/type-tokens.css +0 -18
  46. package/stylesheets/variables/typography.css +0 -16
  47. package/stylesheets/variables.css +0 -5
@@ -1,1060 +0,0 @@
1
- var N = Object.defineProperty;
2
- var l = (e, n) => N(e, "name", { value: n, configurable: !0 });
3
- import { openBlock as d, createBlock as b, resolveDynamicComponent as I, normalizeClass as p, withCtx as _, renderSlot as f, createElementBlock as c, createCommentVNode as m, toDisplayString as S, Transition as H, createElementVNode as h, resolveComponent as k, withKeys as T, Fragment as $, renderList as M, Teleport as E, withModifiers as z, normalizeStyle as F, createVNode as V, mergeProps as C } from "vue";
4
- import { L as O, g as R } from "./ListNavController-drNtDwz9.js";
5
- const y = /* @__PURE__ */ l((e, n) => {
6
- const t = e.__vccOpts || e;
7
- for (const [o, a] of n)
8
- t[o] = a;
9
- return t;
10
- }, "_export_sfc"), P = {
11
- props: {
12
- label: { type: String },
13
- title: { type: String },
14
- icon: { type: String },
15
- iconPos: { type: String, default: "left" },
16
- kind: { type: String, default: "link-default" },
17
- hoverKind: { type: String },
18
- tagName: { type: String, default: "button" },
19
- href: { type: String },
20
- debounce: { type: Number, default: 0 },
21
- disabled: { type: Boolean, default: !1 },
22
- size: { type: String, default: "normal" },
23
- square: { type: Boolean, default: !1 },
24
- block: { type: Boolean, default: !1 },
25
- round: { type: Boolean, default: !1 },
26
- outline: { type: Boolean, default: !1 },
27
- flat: { type: Boolean, default: !1 },
28
- shadow: { type: Boolean, default: !1 },
29
- pseudoFocus: { type: Boolean, default: !1 },
30
- pseudoHover: { type: Boolean, default: !1 },
31
- pseudoActive: { type: Boolean, default: !1 }
32
- },
33
- data() {
34
- return {
35
- hover: !1,
36
- blocked: !1
37
- };
38
- },
39
- computed: {
40
- actualKind() {
41
- const { kind: e, hoverKind: n, hover: t } = this;
42
- return t ? n ?? e : e;
43
- }
44
- },
45
- methods: {
46
- // TODO add debounce
47
- }
48
- }, G = {
49
- key: 0,
50
- class: "Label"
51
- };
52
- function j(e, n, t, o, a, s) {
53
- return d(), b(I(t.tagName), {
54
- ref: "button",
55
- class: p(["Btn button", [
56
- `Btn-${t.size}`,
57
- `Btn-${s.actualKind}`,
58
- `Btn-iconPos-${t.iconPos}`,
59
- {
60
- "Btn-disabled": t.disabled || a.blocked,
61
- "Btn-square": t.square,
62
- "Btn-round": t.round,
63
- "Btn-outline": t.outline,
64
- "Btn-flat": t.flat,
65
- "Btn-shadow": t.shadow,
66
- "Btn-block": t.block,
67
- "Btn-pseudo-focus": t.pseudoFocus,
68
- "Btn-pseudo-hover": t.pseudoHover,
69
- "Btn-pseudo-active": t.pseudoActive
70
- }
71
- ]]),
72
- disabled: t.disabled || a.blocked,
73
- title: t.title ?? t.label,
74
- href: t.href,
75
- onMouseenter: n[0] || (n[0] = (i) => a.hover = !0),
76
- onMouseleave: n[1] || (n[1] = (i) => a.hover = !1)
77
- }, {
78
- default: _(() => [
79
- f(e.$slots, "icon", {
80
- hover: a.hover,
81
- blocked: a.blocked
82
- }, () => [
83
- t.icon ? (d(), c("i", {
84
- key: 0,
85
- class: p([t.icon, "Icon"])
86
- }, null, 2)) : m("", !0)
87
- ], !0),
88
- t.label ? (d(), c("span", G, S(t.label), 1)) : m("", !0),
89
- f(e.$slots, "default", {
90
- hover: a.hover,
91
- blocked: a.blocked
92
- }, void 0, !0)
93
- ]),
94
- _: 3
95
- }, 40, ["class", "disabled", "title", "href"]);
96
- }
97
- l(j, "_sfc_render$f");
98
- const K = /* @__PURE__ */ y(P, [["render", j], ["__scopeId", "data-v-ee291525"]]), W = {
99
- props: {
100
- dir: { type: String, default: "bottom" },
101
- align: { type: String, default: "start" }
102
- }
103
- }, Z = { class: "Body" };
104
- function Q(e, n, t, o, a, s) {
105
- return d(), b(H, {
106
- name: "fade-" + t.dir,
107
- appear: ""
108
- }, {
109
- default: _(() => [
110
- h("div", {
111
- class: p(["Bubble", [
112
- `Bubble-${t.dir}`,
113
- `Bubble-${t.align}`
114
- ]])
115
- }, [
116
- n[0] || (n[0] = h("div", { class: "Arrow" }, null, -1)),
117
- h("div", Z, [
118
- f(e.$slots, "default", {}, void 0, !0)
119
- ])
120
- ], 2)
121
- ]),
122
- _: 3
123
- }, 8, ["name"]);
124
- }
125
- l(Q, "_sfc_render$e");
126
- const q = /* @__PURE__ */ y(W, [["render", Q], ["__scopeId", "data-v-2bf83119"]]), U = {
127
- props: {
128
- size: { type: String, default: "normal" }
129
- }
130
- };
131
- function Y(e, n, t, o, a, s) {
132
- return d(), c("div", {
133
- class: p(["Circle", [
134
- `Circle-${t.size}`
135
- ]])
136
- }, [
137
- f(e.$slots, "default", {}, void 0, !0)
138
- ], 2);
139
- }
140
- l(Y, "_sfc_render$d");
141
- const J = /* @__PURE__ */ y(U, [["render", Y], ["__scopeId", "data-v-48fdb4ac"]]);
142
- function X(e, n, t = "b") {
143
- return e.split("").map((o, a) => n.includes(a) ? `<${t}>${o}</${t}>` : o).join("");
144
- }
145
- l(X, "formatHighlight");
146
- function L(e) {
147
- return e.toLowerCase().replace(/[^\p{L}\p{N}]/gu, "");
148
- }
149
- l(L, "normalizeToken");
150
- function g(e, n) {
151
- const t = /(?:[A-Z]?[a-z0-9]+(?=[A-Z]))|(?:[a-zA-Z0-9]+[^A-Za-z0-9]*)|(?:[^A-Za-z0-9]*(?=[a-zA-Z0-9]))/g;
152
- t.lastIndex = n;
153
- const o = t.exec(e);
154
- return o == null ? e.length : o.index + o[0].length;
155
- }
156
- l(g, "nextTokenIdx");
157
- function A(e) {
158
- const n = [];
159
- let t = 0;
160
- for (; t < e.length; ) {
161
- const o = g(e, t), a = e.substring(t, o).replace(/[^a-z0-9]/gi, "");
162
- a.length > 0 && n.push(L(a)), t = o;
163
- }
164
- return n;
165
- }
166
- l(A, "tokenize");
167
- const ee = [
168
- {
169
- matcher: /* @__PURE__ */ l((e, n) => ne(e, n), "matcher"),
170
- bias: /* @__PURE__ */ l((e) => e.biasTokensStrict ?? 16, "bias")
171
- },
172
- {
173
- matcher: /* @__PURE__ */ l((e, n) => x(e, n), "matcher"),
174
- bias: /* @__PURE__ */ l((e) => e.biasLetterTokens ?? 8, "bias")
175
- },
176
- {
177
- matcher: /* @__PURE__ */ l((e, n) => se(e, n), "matcher"),
178
- bias: /* @__PURE__ */ l((e) => e.biasTokensLenient ?? 4, "bias")
179
- },
180
- {
181
- matcher: /* @__PURE__ */ l((e, n) => ae(e, n), "matcher"),
182
- bias: /* @__PURE__ */ l((e) => e.biasWildcard ?? 1, "bias")
183
- }
184
- ];
185
- function te(e, n, t = {}) {
186
- const o = ee.slice().sort((a, s) => {
187
- const i = a.bias(t), r = s.bias(t);
188
- return i < r ? 1 : -1;
189
- });
190
- for (const a of o) {
191
- const s = a.bias(t);
192
- if (s === 0)
193
- continue;
194
- const i = a.matcher(e, n);
195
- if (i.length > 0) {
196
- const r = oe(i), u = X(n, i, t.highlightTag ?? "b");
197
- return {
198
- score: r * s,
199
- matches: i,
200
- highlight: u
201
- };
202
- }
203
- }
204
- return {
205
- score: 0,
206
- matches: [],
207
- highlight: n
208
- };
209
- }
210
- l(te, "fuzzyMatch");
211
- function ne(e, n, t = 0) {
212
- const o = A(e), a = [], s = n.toLowerCase();
213
- let i = t;
214
- for (; o.length > 0; ) {
215
- if (i >= n.length) {
216
- const w = g(n, t);
217
- return w < n.length ? x(e, n, w) : [];
218
- }
219
- const r = o[0], u = i + r.length;
220
- if (s.substring(i, u) === r) {
221
- for (let w = i; w < u; w++)
222
- a.push(w);
223
- i = Math.min(g(n, u), g(n, i)), o.shift();
224
- } else
225
- i = g(n, i);
226
- }
227
- return a;
228
- }
229
- l(ne, "matchTokensStrict");
230
- function x(e, n, t = 0) {
231
- const o = [];
232
- let a = t;
233
- const s = L(e).split("");
234
- for (; s.length > 0; ) {
235
- if (a >= n.length) {
236
- const r = g(n, t);
237
- return r < n.length ? x(e, n, r) : [];
238
- }
239
- s[0] === n.charAt(a).toLowerCase() ? (o.push(a), a += 1, s.shift()) : a = g(n, a);
240
- }
241
- return o;
242
- }
243
- l(x, "matchLetterTokens");
244
- function se(e, n) {
245
- const t = A(e), o = [], a = n.toLowerCase();
246
- let s = 0;
247
- e: for (; s < n.length; ) {
248
- for (const i of t) {
249
- const r = s + i.length;
250
- if (a.substring(s, r) === i) {
251
- for (let v = s; v < r; v++)
252
- o.push(v);
253
- s = Math.min(g(n, r), g(n, s));
254
- continue e;
255
- }
256
- }
257
- s = g(n, s);
258
- }
259
- return o;
260
- }
261
- l(se, "matchTokensLenient");
262
- function ae(e, n) {
263
- const t = [];
264
- let o = 0;
265
- e = e.toLowerCase().replace(/\s+/g, "");
266
- const a = n.toLowerCase();
267
- for (let s = 0; s < e.length; s++) {
268
- const i = e.charAt(s).toLowerCase(), r = a.indexOf(i, o);
269
- if (r === -1)
270
- return [];
271
- t.push(r), o = r + 1;
272
- }
273
- return t;
274
- }
275
- l(ae, "matchWildcard");
276
- function oe(e) {
277
- const n = e.length;
278
- return e.reduce((t, o) => t + n / (1 + o), 0);
279
- }
280
- l(oe, "fuzzyMatchScore");
281
- function ie(e, n, t = {}) {
282
- const o = [];
283
- for (const [a, s] of n.entries()) {
284
- const i = te(e, s, t);
285
- if (i.score > 0) {
286
- const { score: r, matches: u, highlight: v } = i;
287
- o.push({
288
- score: r,
289
- matches: u,
290
- source: s,
291
- index: a,
292
- highlight: v
293
- });
294
- }
295
- }
296
- return o.sort((a, s) => a.score === s.score ? a.source > s.source ? 1 : -1 : a.score > s.score ? -1 : 1);
297
- }
298
- l(ie, "fuzzySearch");
299
- const le = {
300
- props: {
301
- dir: { type: String },
302
- align: { type: String },
303
- size: { type: String },
304
- items: { type: Array },
305
- atCursor: { type: Boolean },
306
- anchorRef: { type: String },
307
- anchorDir: { type: String },
308
- search: { type: Boolean },
309
- autoDismiss: { type: Boolean, default: !0 }
310
- },
311
- emits: ["hide"],
312
- data() {
313
- return {
314
- listNav: new O({
315
- selector: "[data-menu-item-id]",
316
- resolveId: /* @__PURE__ */ l((e) => e.getAttribute("data-menu-item-id"), "resolveId")
317
- }),
318
- searchQuery: "",
319
- filteredItems: this.items
320
- };
321
- },
322
- computed: {
323
- iconCheck() {
324
- var e;
325
- return ((e = this.$nightshadeIcons) == null ? void 0 : e.check) ?? "fas fa-check";
326
- }
327
- },
328
- unmounted() {
329
- this.listNav.destroy();
330
- },
331
- methods: {
332
- initialize() {
333
- this.listNav.mount(this.$refs.menu);
334
- },
335
- isItemSelected(e) {
336
- return this.listNav.selection.isSelected(String(e));
337
- },
338
- activate() {
339
- const e = this.listNav.selection.getFirst(), n = this.filteredItems[e];
340
- n && this.activateItem(n);
341
- },
342
- activateItem(e) {
343
- e.disabled || !e.activate || (e.activate(), this.autoDismiss ? this.hide() : e.checked = !e.checked);
344
- },
345
- doSearch() {
346
- const e = this.searchQuery.trim();
347
- if (!e) {
348
- this.filteredItems = this.items;
349
- return;
350
- }
351
- const n = ie(e, this.items.map((t) => t.title ?? ""));
352
- this.filteredItems = n.map((t) => this.items[t.index]);
353
- },
354
- selectSearch() {
355
- this.$refs.search && this.$refs.search.$el.querySelector("input").focus();
356
- },
357
- hide() {
358
- this.$emit("hide");
359
- }
360
- }
361
- }, re = {
362
- key: 0,
363
- class: "Separator"
364
- }, de = ["textContent"], ue = ["data-menu-item-id", "onClick"], ce = { class: "ItemLine" }, fe = { class: "ItemTitle" }, he = {
365
- key: 0,
366
- class: "ItemDescription"
367
- };
368
- function pe(e, n, t, o, a, s) {
369
- const i = k("InputText"), r = k("ContextPopup");
370
- return d(), b(r, {
371
- dir: t.dir,
372
- align: t.align,
373
- anchorRef: t.anchorRef,
374
- anchorDir: t.anchorDir,
375
- onHide: n[4] || (n[4] = (u) => s.hide()),
376
- onReady: n[5] || (n[5] = (u) => s.initialize())
377
- }, {
378
- default: _(() => [
379
- h("div", {
380
- ref: "menu",
381
- class: p(["Menu", {
382
- "Menu-search": t.search
383
- }])
384
- }, [
385
- t.search ? (d(), b(i, {
386
- key: 0,
387
- ref: "search",
388
- modelValue: a.searchQuery,
389
- "onUpdate:modelValue": [
390
- n[0] || (n[0] = (u) => a.searchQuery = u),
391
- n[1] || (n[1] = (u) => s.doSearch())
392
- ],
393
- autoFocus: "",
394
- class: "Search",
395
- icon: "fas fa-search",
396
- placeholder: "Search",
397
- "data-menu-item-id": "#",
398
- onKeydown: n[2] || (n[2] = T((u) => s.activate(), ["enter"]))
399
- }, null, 8, ["modelValue"])) : m("", !0),
400
- h("div", {
401
- class: "Items",
402
- onKeydown: n[3] || (n[3] = T((u) => s.selectSearch(), ["backspace"]))
403
- }, [
404
- (d(!0), c($, null, M(a.filteredItems, (u, v) => (d(), c($, { key: v }, [
405
- u.kind === "separator" ? (d(), c("div", re)) : u.kind === "title" ? (d(), c("div", {
406
- key: 1,
407
- class: "SectionTitle",
408
- textContent: S(u.title)
409
- }, null, 8, de)) : (d(), c("div", {
410
- key: 2,
411
- class: p(["MenuItem", [
412
- {
413
- "MenuItem-selected": s.isItemSelected(v),
414
- "MenuItem-disabled": u.disabled,
415
- "MenuItem-checked": u.checked
416
- },
417
- `MenuItem-${u.kind}`
418
- ]]),
419
- "data-menu-item-id": v,
420
- tabindex: "0",
421
- onClick: /* @__PURE__ */ l((w) => s.activateItem(u), "onClick")
422
- }, [
423
- h("div", ce, [
424
- u.icon ? (d(), c("i", {
425
- key: 0,
426
- class: p([u.icon, "ItemIcon"])
427
- }, null, 2)) : m("", !0),
428
- h("div", fe, S(u.title), 1),
429
- u.checked ? f(e.$slots, "iconCheck", { key: 1 }, () => [
430
- h("i", {
431
- class: p(["CheckIcon", s.iconCheck])
432
- }, null, 2)
433
- ], !0) : m("", !0)
434
- ]),
435
- u.description ? (d(), c("div", he, S(u.description), 1)) : m("", !0)
436
- ], 10, ue))
437
- ], 64))), 128))
438
- ], 32)
439
- ], 2)
440
- ]),
441
- _: 3
442
- }, 8, ["dir", "align", "anchorRef", "anchorDir"]);
443
- }
444
- l(pe, "_sfc_render$c");
445
- const me = /* @__PURE__ */ y(le, [["render", pe], ["__scopeId", "data-v-e556263d"]]), ye = {
446
- props: {
447
- dir: { type: String, default: "v" },
448
- align: { type: String, default: "auto" },
449
- anchorRef: { type: String },
450
- anchorDir: { type: String, default: "middle" },
451
- overlayEnabled: { type: Boolean, default: !0 },
452
- overlayShown: { type: Boolean, default: !0 }
453
- },
454
- emits: [
455
- "hide",
456
- "mouseenter",
457
- "mouseleave",
458
- "ready",
459
- "update:overlayShown"
460
- ],
461
- data() {
462
- return {
463
- pos: {
464
- x: 0,
465
- y: 0
466
- },
467
- actualDir: "bottom",
468
- actualAlign: "start",
469
- ready: !1
470
- };
471
- },
472
- computed: {
473
- bubbleStyle() {
474
- const { x: e, y: n } = this.pos;
475
- return {
476
- left: `${e}px`,
477
- top: `${n}px`,
478
- "pointer-events": "auto"
479
- };
480
- }
481
- },
482
- mounted() {
483
- this.$nextTick(() => this.calcPos()), window.addEventListener("resize", this.onResize), window.addEventListener("keydown", this.onWindowKeyDown), this.enableOverlay();
484
- },
485
- unmounted() {
486
- window.removeEventListener("resize", this.onResize), window.removeEventListener("keydown", this.onWindowKeyDown), this.disableOverlay();
487
- },
488
- methods: {
489
- hide() {
490
- this.$emit("hide");
491
- },
492
- calcPos() {
493
- const e = this.getAnchorEl();
494
- this.pos = R(e, this.anchorDir), this.calcDirAlign(), this.ready = !0, this.$nextTick(() => this.$emit("ready"));
495
- },
496
- calcDirAlign() {
497
- const e = this.pos.y < window.innerHeight * 0.5, n = this.pos.x < window.innerWidth * 0.5;
498
- this.align === "auto" ? ["top", "bottom", "v"].includes(this.dir) ? this.actualAlign = n ? "start" : "end" : this.actualAlign = e ? "start" : "end" : this.actualAlign = this.align, this.dir === "v" ? this.actualDir = e ? "bottom" : "top" : this.dir === "h" ? this.actualDir = n ? "right" : "left" : this.actualDir = this.dir;
499
- },
500
- getAnchorEl() {
501
- if (this.anchorRef) {
502
- const e = this.findRef(this.$parent, this.anchorRef);
503
- if (e)
504
- return e;
505
- }
506
- return this.$el.parentElement;
507
- },
508
- findRef(e, n) {
509
- const t = e.$refs[n];
510
- if (t) {
511
- const o = t.$el ?? t;
512
- if (o instanceof HTMLElement)
513
- return o;
514
- }
515
- return e.$parent ? this.findRef(e.$parent, n) : null;
516
- },
517
- onResize() {
518
- this.calcPos();
519
- },
520
- onWindowKeyDown(e) {
521
- e.key === "Escape" && this.hide();
522
- },
523
- enableOverlay() {
524
- if (!this.overlayEnabled)
525
- return;
526
- const e = document.documentElement, n = e.style.overflow;
527
- e.dataset.previousOverflow = n, e.style.overflow = "hidden";
528
- },
529
- disableOverlay() {
530
- const e = document.documentElement;
531
- e.dataset.previousOverflow != null && (e.style.overflow = e.dataset.previousOverflow, delete e.dataset.previousOverflow);
532
- }
533
- }
534
- };
535
- function be(e, n, t, o, a, s) {
536
- const i = k("Bubble");
537
- return d(), b(E, { to: "#overlays" }, [
538
- h("div", {
539
- class: p(["Overlay", {
540
- "Overlay-enabled": t.overlayEnabled,
541
- "Overlay-shown": t.overlayShown
542
- }]),
543
- onClick: n[3] || (n[3] = z((r) => s.hide(), ["stop"]))
544
- }, [
545
- a.ready ? (d(), b(i, {
546
- key: 0,
547
- dir: a.actualDir,
548
- align: a.actualAlign,
549
- style: F(s.bubbleStyle),
550
- onMouseenter: n[0] || (n[0] = (r) => e.$emit("mouseenter")),
551
- onMouseleave: n[1] || (n[1] = (r) => e.$emit("mouseleave")),
552
- onClick: n[2] || (n[2] = z(() => {
553
- }, ["stop"]))
554
- }, {
555
- default: _(() => [
556
- f(e.$slots, "default", {}, void 0, !0)
557
- ]),
558
- _: 3
559
- }, 8, ["dir", "align", "style"])) : m("", !0)
560
- ], 2)
561
- ]);
562
- }
563
- l(be, "_sfc_render$b");
564
- const ve = /* @__PURE__ */ y(ye, [["render", be], ["__scopeId", "data-v-55cbd0aa"]]), ge = {
565
- props: {
566
- tagName: { type: String, default: "div" },
567
- align: { type: String, default: "center" },
568
- justify: { type: String },
569
- gap: { type: String, default: "1" },
570
- wrap: { type: Boolean, default: !1 }
571
- }
572
- };
573
- function _e(e, n, t, o, a, s) {
574
- return d(), b(I(t.tagName), {
575
- class: p(["HGroup", [
576
- `HGroup-align-${t.align}`,
577
- `HGroup-justify-${t.justify}`,
578
- `HGroup-gap-${t.gap}`,
579
- {
580
- "HGroup-wrap": t.wrap
581
- }
582
- ]])
583
- }, {
584
- default: _(() => [
585
- f(e.$slots, "default", {}, void 0, !0)
586
- ]),
587
- _: 3
588
- }, 8, ["class"]);
589
- }
590
- l(_e, "_sfc_render$a");
591
- const Se = /* @__PURE__ */ y(ge, [["render", _e], ["__scopeId", "data-v-0abfef17"]]), ke = {}, we = { class: "HStack" };
592
- function Ie(e, n, t, o, a, s) {
593
- return d(), c("div", we, [
594
- f(e.$slots, "default", {}, void 0, !0)
595
- ]);
596
- }
597
- l(Ie, "_sfc_render$9");
598
- const Be = /* @__PURE__ */ y(ke, [["render", Ie], ["__scopeId", "data-v-48a370d0"]]), $e = {
599
- props: {
600
- dir: { type: String, default: "top" },
601
- label: { type: String }
602
- },
603
- computed: {
604
- orientation() {
605
- return this.dir === "top" || this.dir === "bottom" ? "h" : "v";
606
- }
607
- }
608
- }, Ce = { class: "Content" }, xe = ["title"];
609
- function Te(e, n, t, o, a, s) {
610
- const i = k("TabCap");
611
- return d(), c("div", {
612
- class: p(["Tab", [
613
- `Tab-${t.dir}`,
614
- `Tab-${s.orientation}`
615
- ]])
616
- }, [
617
- V(i, {
618
- class: "TabCap",
619
- dir: t.dir,
620
- type: "start"
621
- }, null, 8, ["dir"]),
622
- h("div", Ce, [
623
- f(e.$slots, "default", {}, () => [
624
- t.label ? (d(), c("div", {
625
- key: 0,
626
- class: "TabLabel",
627
- title: t.label
628
- }, S(t.label), 9, xe)) : m("", !0)
629
- ], !0)
630
- ]),
631
- V(i, {
632
- class: "TabCap",
633
- dir: t.dir,
634
- type: "end"
635
- }, null, 8, ["dir"])
636
- ], 2);
637
- }
638
- l(Te, "_sfc_render$8");
639
- const D = /* @__PURE__ */ y($e, [["render", Te], ["__scopeId", "data-v-1ba502f2"]]), ze = {
640
- components: {
641
- Tab: D
642
- },
643
- props: {
644
- tagName: { default: "label" },
645
- label: { type: String },
646
- labelStyle: { type: String, default: "tab" },
647
- size: { type: String, default: "normal" },
648
- fixedHeight: { type: Boolean, default: !0 },
649
- round: { type: Boolean, default: !1 },
650
- block: { type: Boolean },
651
- disabled: { type: Boolean, default: !1 },
652
- invalid: { type: Boolean, default: !1 },
653
- pseudoFocus: { type: Boolean, default: !1 },
654
- pseudoHover: { type: Boolean, default: !1 }
655
- },
656
- data() {
657
- return {
658
- focused: !1
659
- };
660
- }
661
- }, Ve = {
662
- key: 1,
663
- class: "Label TextLabel"
664
- }, Le = {
665
- key: 2,
666
- class: "Label InlineLabel"
667
- }, Ae = { class: "Container" };
668
- function De(e, n, t, o, a, s) {
669
- const i = k("Tab");
670
- return d(), b(I(t.tagName), {
671
- class: p(["InputBase", [
672
- `InputBase-${t.size}`,
673
- {
674
- "InputBase-block": t.block,
675
- "InputBase-round": t.round,
676
- "InputBase-disabled": t.disabled,
677
- "InputBase-invalid": t.invalid,
678
- "InputBase-fixed-height": t.fixedHeight,
679
- "InputBase-pseudo-focus": t.pseudoFocus,
680
- "InputBase-pseudo-hover": t.pseudoHover
681
- }
682
- ]]),
683
- onFocusin: n[0] || (n[0] = (r) => a.focused = !0),
684
- onFocusout: n[1] || (n[1] = (r) => a.focused = !1)
685
- }, {
686
- default: _(() => [
687
- t.label ? (d(), c($, { key: 0 }, [
688
- t.labelStyle === "tab" ? (d(), b(i, {
689
- key: 0,
690
- class: "Label TabLabel",
691
- label: t.label
692
- }, null, 8, ["label"])) : m("", !0),
693
- t.labelStyle === "text" ? (d(), c("div", Ve, S(t.label), 1)) : m("", !0),
694
- t.labelStyle === "inline" ? (d(), c("div", Le, S(t.label), 1)) : m("", !0)
695
- ], 64)) : m("", !0),
696
- h("div", Ae, [
697
- f(e.$slots, "default", {}, void 0, !0)
698
- ])
699
- ]),
700
- _: 3
701
- }, 40, ["class"]);
702
- }
703
- l(De, "_sfc_render$7");
704
- const B = /* @__PURE__ */ y(ze, [["render", De], ["__scopeId", "data-v-bc2d01df"]]), Ne = {
705
- props: {
706
- ...B.props,
707
- modelValue: {},
708
- items: { type: Array, default: /* @__PURE__ */ l(() => [], "default") },
709
- placeholder: { type: String },
710
- readonly: { type: Boolean },
711
- search: { type: Boolean, default: !1 }
712
- },
713
- emits: [
714
- "focus",
715
- "blur",
716
- "update:modelValue"
717
- ],
718
- data() {
719
- return {
720
- menuShown: !1
721
- };
722
- },
723
- computed: {
724
- selectedItem() {
725
- return this.items.find((e) => (e.value ?? e) === this.modelValue);
726
- },
727
- itemTitle() {
728
- const { selectedItem: e } = this;
729
- return (e == null ? void 0 : e.title) ?? e;
730
- },
731
- itemIcon() {
732
- const { selectedItem: e } = this;
733
- return e == null ? void 0 : e.icon;
734
- },
735
- iconDropdown() {
736
- var e;
737
- return ((e = this.$nightshadeIcons) == null ? void 0 : e.dropdown) ?? "fas fa-angle-down";
738
- }
739
- },
740
- methods: {
741
- onInput(e) {
742
- this.$emit("update:modelValue", e.target.value);
743
- },
744
- selectValue(e) {
745
- this.$emit("update:modelValue", e), this.menuShown = !1;
746
- },
747
- getMenuItems() {
748
- return this.items.map((e) => {
749
- const n = typeof e == "string" ? e : e.title, t = typeof e == "string" ? e : e.value;
750
- return {
751
- title: n,
752
- checked: t === this.modelValue,
753
- disabled: e.disabled,
754
- description: e.description,
755
- icon: e.icon ?? void 0,
756
- activate: /* @__PURE__ */ l(() => {
757
- this.disabled || this.selectValue(t);
758
- }, "activate")
759
- };
760
- });
761
- },
762
- show() {
763
- this.disabled || (this.menuShown = !0);
764
- }
765
- }
766
- }, He = {
767
- key: 1,
768
- class: "Value"
769
- }, Me = {
770
- key: 2,
771
- class: "Placeholder"
772
- }, Ee = {
773
- ref: "icon",
774
- class: "DropdownIcon"
775
- };
776
- function Fe(e, n, t, o, a, s) {
777
- const i = k("ContextMenu"), r = k("InputBase");
778
- return d(), b(r, C({ class: "InputSelect" }, {
779
- ...e.$props
780
- }, {
781
- tabindex: "0",
782
- onClick: n[1] || (n[1] = (u) => s.show())
783
- }), {
784
- default: _(() => [
785
- f(e.$slots, "before", {}, void 0, !0),
786
- s.itemIcon ? (d(), c("i", {
787
- key: 0,
788
- class: p(["Icon", s.itemIcon])
789
- }, null, 2)) : m("", !0),
790
- s.selectedItem ? (d(), c("span", He, S(s.itemTitle), 1)) : m("", !0),
791
- s.selectedItem ? m("", !0) : (d(), c("span", Me, S(t.placeholder), 1)),
792
- h("div", Ee, [
793
- f(e.$slots, "iconDropdown", {}, () => [
794
- h("i", {
795
- class: p(s.iconDropdown)
796
- }, null, 2)
797
- ], !0)
798
- ], 512),
799
- !e.disabled && a.menuShown ? (d(), b(i, {
800
- key: 3,
801
- anchorRef: "icon",
802
- items: s.getMenuItems(),
803
- search: t.search,
804
- overlayShown: !1,
805
- onHide: n[0] || (n[0] = (u) => a.menuShown = !1)
806
- }, null, 8, ["items", "search"])) : m("", !0),
807
- f(e.$slots, "after", {}, void 0, !0)
808
- ]),
809
- _: 3
810
- }, 16);
811
- }
812
- l(Fe, "_sfc_render$6");
813
- const Oe = /* @__PURE__ */ y(Ne, [["render", Fe], ["__scopeId", "data-v-329a6de2"]]), Re = {
814
- props: {
815
- ...B.props,
816
- modelValue: { type: [String, Number] },
817
- type: { type: String },
818
- placeholder: { type: String },
819
- min: { type: Number },
820
- max: { type: Number },
821
- step: { type: Number },
822
- autoFocus: { type: Boolean },
823
- readonly: { type: Boolean }
824
- },
825
- emits: [
826
- "focus",
827
- "blur",
828
- "input",
829
- "update:modelValue"
830
- ],
831
- mounted() {
832
- var e;
833
- this.autoFocus && ((e = this.$refs.input) == null || e.focus());
834
- },
835
- methods: {
836
- onInput(e) {
837
- this.$emit("update:modelValue", e.target.value);
838
- }
839
- }
840
- }, Pe = ["value", "type", "placeholder", "readonly", "disabled", "min", "max", "step"];
841
- function Ge(e, n, t, o, a, s) {
842
- const i = k("InputBase");
843
- return d(), b(i, C({ class: "InputText" }, {
844
- ...e.$props
845
- }), {
846
- default: _(() => [
847
- f(e.$slots, "before", {}, void 0, !0),
848
- h("input", {
849
- ref: "input",
850
- value: t.modelValue,
851
- type: t.type,
852
- placeholder: t.placeholder,
853
- readonly: t.readonly,
854
- disabled: e.disabled,
855
- min: t.min,
856
- max: t.max,
857
- step: t.step,
858
- autocomplete: "off",
859
- onInput: n[0] || (n[0] = (r) => s.onInput(r)),
860
- onFocus: n[1] || (n[1] = (r) => e.$emit("focus", r)),
861
- onBlur: n[2] || (n[2] = (r) => e.$emit("blur", r))
862
- }, null, 40, Pe),
863
- f(e.$slots, "after", {}, void 0, !0)
864
- ]),
865
- _: 3
866
- }, 16);
867
- }
868
- l(Ge, "_sfc_render$5");
869
- const je = /* @__PURE__ */ y(Re, [["render", Ge], ["__scopeId", "data-v-3aca34dd"]]), Ke = {
870
- props: {
871
- ...B.props,
872
- modelValue: { type: String },
873
- placeholder: { type: String },
874
- rows: { type: Number },
875
- autoSize: { type: Boolean, default: !0 },
876
- autoFocus: { type: Boolean },
877
- readonly: { type: Boolean }
878
- },
879
- emits: [
880
- "focus",
881
- "blur",
882
- "input",
883
- "update:modelValue"
884
- ],
885
- watch: {
886
- modelValue: {
887
- handler() {
888
- const e = this.$refs.input;
889
- this.autoSize && e && (e.style.height = "auto", e.style.height = e.scrollHeight + "px");
890
- }
891
- }
892
- },
893
- mounted() {
894
- this.$nextTick(() => {
895
- const e = this.$refs.input;
896
- this.autoFocus && e.focus(), this.autoSize && (e.style.height = e.scrollHeight + "px", e.style.overflowY = "hidden");
897
- });
898
- },
899
- methods: {
900
- onInput(e) {
901
- this.$emit("update:modelValue", e.target.value);
902
- }
903
- }
904
- }, We = ["value", "placeholder", "readonly", "disabled", "rows"];
905
- function Ze(e, n, t, o, a, s) {
906
- const i = k("InputBase");
907
- return d(), b(i, C({ class: "InputTextarea" }, {
908
- ...e.$props
909
- }, { fixedHeight: !1 }), {
910
- default: _(() => [
911
- f(e.$slots, "before", {}, void 0, !0),
912
- h("textarea", {
913
- ref: "input",
914
- value: t.modelValue,
915
- placeholder: t.placeholder,
916
- readonly: t.readonly,
917
- disabled: e.disabled,
918
- rows: t.rows,
919
- resize: "none",
920
- autocomplete: "off",
921
- onInput: n[0] || (n[0] = (r) => s.onInput(r)),
922
- onFocus: n[1] || (n[1] = (r) => e.$emit("focus", r)),
923
- onBlur: n[2] || (n[2] = (r) => e.$emit("blur", r))
924
- }, null, 40, We),
925
- f(e.$slots, "after", {}, void 0, !0)
926
- ]),
927
- _: 3
928
- }, 16);
929
- }
930
- l(Ze, "_sfc_render$4");
931
- const Qe = /* @__PURE__ */ y(Ke, [["render", Ze], ["__scopeId", "data-v-41eab4ae"]]), qe = {}, Ue = { class: "Sizer" };
932
- function Ye(e, n) {
933
- return d(), c("div", Ue);
934
- }
935
- l(Ye, "_sfc_render$3");
936
- const Je = /* @__PURE__ */ y(qe, [["render", Ye], ["__scopeId", "data-v-2f099547"]]), Xe = {
937
- props: {
938
- modelValue: { type: Boolean },
939
- disabled: { type: Boolean },
940
- kind: { type: String, default: "primary" },
941
- size: { type: String, default: "normal" },
942
- knobOutline: { type: Boolean, default: !1 },
943
- pseudoFocus: { type: Boolean, default: !1 },
944
- pseudoHover: { type: Boolean, default: !1 },
945
- pseudoActive: { type: Boolean, default: !1 }
946
- },
947
- emits: [
948
- "update:modelValue"
949
- ],
950
- methods: {
951
- onChange(e) {
952
- this.$emit("update:modelValue", e.target.checked);
953
- }
954
- }
955
- }, et = ["checked", "disabled"];
956
- function tt(e, n, t, o, a, s) {
957
- return d(), c("label", {
958
- class: p(["Switch", [
959
- `Switch-${t.kind}`,
960
- `Switch-${t.size}`,
961
- {
962
- "Switch-active": !!t.modelValue,
963
- "Switch-disabled": t.disabled,
964
- "Switch-pseudo-focus": t.pseudoFocus,
965
- "Switch-pseudo-hover": t.pseudoHover,
966
- "Switch-pseudo-active": t.pseudoActive,
967
- "Switch-knob-outline": t.knobOutline
968
- }
969
- ]]),
970
- tabindex: "0"
971
- }, [
972
- h("input", {
973
- type: "checkbox",
974
- checked: t.modelValue,
975
- disabled: t.disabled,
976
- onChange: n[0] || (n[0] = (...i) => s.onChange && s.onChange(...i))
977
- }, null, 40, et)
978
- ], 2);
979
- }
980
- l(tt, "_sfc_render$2");
981
- const nt = /* @__PURE__ */ y(Xe, [["render", tt], ["__scopeId", "data-v-df1be8fc"]]), st = {
982
- props: {
983
- dir: { type: String, default: "top" },
984
- type: { type: String, default: "start" }
985
- }
986
- };
987
- function at(e, n, t, o, a, s) {
988
- return d(), c("svg", {
989
- class: p(["TabCap", [
990
- `TabCap-${t.dir}`,
991
- `TabCap-${t.type}`
992
- ]]),
993
- viewBox: "0 0 32 32",
994
- preserveAspectRatio: "none"
995
- }, n[0] || (n[0] = [
996
- h("path", { d: "M0 32 C 16 32 16 0 32 0 L 32 32 z" }, null, -1)
997
- ]), 2);
998
- }
999
- l(at, "_sfc_render$1");
1000
- const ot = /* @__PURE__ */ y(st, [["render", at], ["__scopeId", "data-v-3c0176d0"]]), it = {
1001
- props: {
1002
- tagName: { type: String, default: "div" },
1003
- align: { type: String, default: "stretch" },
1004
- justify: { type: String },
1005
- gap: { type: String, default: "1" }
1006
- }
1007
- };
1008
- function lt(e, n, t, o, a, s) {
1009
- return d(), b(I(t.tagName), {
1010
- class: p(["VGroup", [
1011
- `VGroup-align-${t.align}`,
1012
- `VGroup-justify-${t.justify}`,
1013
- `VGroup-gap-${t.gap}`
1014
- ]])
1015
- }, {
1016
- default: _(() => [
1017
- f(e.$slots, "default", {}, void 0, !0)
1018
- ]),
1019
- _: 3
1020
- }, 8, ["class"]);
1021
- }
1022
- l(lt, "_sfc_render");
1023
- const rt = /* @__PURE__ */ y(it, [["render", lt], ["__scopeId", "data-v-4e4be270"]]), ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1024
- __proto__: null,
1025
- Btn: K,
1026
- Bubble: q,
1027
- Circle: J,
1028
- ContextMenu: me,
1029
- ContextPopup: ve,
1030
- HGroup: Se,
1031
- HStack: Be,
1032
- InputBase: B,
1033
- InputSelect: Oe,
1034
- InputText: je,
1035
- InputTextarea: Qe,
1036
- Sizer: Je,
1037
- Switch: nt,
1038
- Tab: D,
1039
- TabCap: ot,
1040
- VGroup: rt
1041
- }, Symbol.toStringTag, { value: "Module" }));
1042
- export {
1043
- K as B,
1044
- J as C,
1045
- Se as H,
1046
- B as I,
1047
- Je as S,
1048
- D as T,
1049
- rt as V,
1050
- q as a,
1051
- me as b,
1052
- ve as c,
1053
- Be as d,
1054
- Oe as e,
1055
- je as f,
1056
- Qe as g,
1057
- nt as h,
1058
- ft as i,
1059
- ot as j
1060
- };