@tellaro/tql 0.1.9 → 0.1.11
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.
- package/dist/src/completionProvider.js +80 -69
- package/dist/style.css +1 -1
- package/dist/vue/TqlAutocomplete.vue.js +1 -1
- package/dist/vue/TqlAutocomplete.vue2.js +7 -7
- package/dist/vue/TqlInput.vue.js +2 -2
- package/dist/vue/TqlInput.vue2.js +327 -323
- package/dist/vue/useTqlInput.js +91 -97
- package/package.json +6 -1
|
@@ -256,8 +256,8 @@ class q {
|
|
|
256
256
|
}
|
|
257
257
|
set(t, a) {
|
|
258
258
|
if (this.cache.size >= this.maxSize) {
|
|
259
|
-
const
|
|
260
|
-
|
|
259
|
+
const i = this.cache.keys().next().value;
|
|
260
|
+
i && this.cache.delete(i);
|
|
261
261
|
}
|
|
262
262
|
this.cache.set(t, { result: a, timestamp: Date.now() });
|
|
263
263
|
}
|
|
@@ -267,18 +267,18 @@ class q {
|
|
|
267
267
|
}
|
|
268
268
|
const v = new q();
|
|
269
269
|
function B(e, t, a) {
|
|
270
|
-
const
|
|
271
|
-
if (
|
|
272
|
-
return
|
|
270
|
+
const i = `${e.substring(0, t)}|${t}`, o = v.get(i);
|
|
271
|
+
if (o)
|
|
272
|
+
return o.fieldName && !o.fieldType && a && (o.fieldType = f(o.fieldName, a)), o;
|
|
273
273
|
const n = G(e, t, a);
|
|
274
|
-
return v.set(
|
|
274
|
+
return v.set(i, n), n;
|
|
275
275
|
}
|
|
276
276
|
function G(e, t, a) {
|
|
277
277
|
var u;
|
|
278
|
-
const
|
|
279
|
-
if (
|
|
278
|
+
const o = b(e.substring(0, t)).filter((l) => l.type !== "whitespace");
|
|
279
|
+
if (o.length === 0)
|
|
280
280
|
return { type: "start" };
|
|
281
|
-
const n =
|
|
281
|
+
const n = o[o.length - 1], r = o.length > 1 ? o[o.length - 2] : null, d = n.end === t && !((u = e[t - 1]) != null && u.match(/\s/)), s = d ? n.value : void 0;
|
|
282
282
|
if (n.type === "logicalOp")
|
|
283
283
|
return { type: "start" };
|
|
284
284
|
if (n.type === "paren" && n.value === "(")
|
|
@@ -347,21 +347,21 @@ function G(e, t, a) {
|
|
|
347
347
|
function f(e, t) {
|
|
348
348
|
return t ? M().getFieldType(t, e) : void 0;
|
|
349
349
|
}
|
|
350
|
-
function
|
|
351
|
-
const { query: a, cursorPosition:
|
|
352
|
-
switch (
|
|
350
|
+
function ae(e, t = {}) {
|
|
351
|
+
const { query: a, cursorPosition: i } = e, o = B(a, i, t.fields), n = [];
|
|
352
|
+
switch (o.type) {
|
|
353
353
|
case "start":
|
|
354
354
|
case "after_paren":
|
|
355
|
-
n.push(...y(t.fields,
|
|
355
|
+
n.push(...y(t.fields, o.partialText)), n.push(N("NOT")), t.includeSnippets !== !1 && n.push(...K(t, o.partialText));
|
|
356
356
|
break;
|
|
357
357
|
case "after_field":
|
|
358
|
-
n.push(...x(
|
|
358
|
+
n.push(...x(o.partialText, o.fieldType)), n.push(H());
|
|
359
359
|
break;
|
|
360
360
|
case "after_mutator":
|
|
361
|
-
n.push(...x(
|
|
361
|
+
n.push(...x(o.partialText, o.mutatorOutputType));
|
|
362
362
|
break;
|
|
363
363
|
case "after_operator":
|
|
364
|
-
n.push(...
|
|
364
|
+
n.push(...Y(o.fieldName, t));
|
|
365
365
|
break;
|
|
366
366
|
case "after_value":
|
|
367
367
|
n.push(...C());
|
|
@@ -369,28 +369,28 @@ function te(e, t = {}) {
|
|
|
369
369
|
case "at_value_end":
|
|
370
370
|
break;
|
|
371
371
|
case "after_pipe":
|
|
372
|
-
n.push(...
|
|
372
|
+
n.push(...W(o.partialText));
|
|
373
373
|
break;
|
|
374
374
|
case "after_double_colon":
|
|
375
|
-
n.push(...
|
|
375
|
+
n.push(...Z(o.partialText));
|
|
376
376
|
break;
|
|
377
377
|
case "after_arrow":
|
|
378
|
-
n.push(...
|
|
378
|
+
n.push(...J(o.partialText));
|
|
379
379
|
break;
|
|
380
380
|
case "after_stats":
|
|
381
|
-
n.push(...O(
|
|
381
|
+
n.push(...O(o.partialText));
|
|
382
382
|
break;
|
|
383
383
|
case "after_by":
|
|
384
|
-
n.push(...y(t.fields,
|
|
384
|
+
n.push(...y(t.fields, o.partialText));
|
|
385
385
|
break;
|
|
386
386
|
default:
|
|
387
|
-
n.push(...y(t.fields,
|
|
387
|
+
n.push(...y(t.fields, o.partialText)), n.push(...x(o.partialText)), n.push(...C());
|
|
388
388
|
}
|
|
389
|
-
t.includeAggregations &&
|
|
389
|
+
t.includeAggregations && o.type === "start" && n.push(...O(o.partialText));
|
|
390
390
|
let r = n;
|
|
391
391
|
const d = t.fuzzyMatching !== !1, s = t.minFuzzyScore ?? 0;
|
|
392
|
-
if (
|
|
393
|
-
const u =
|
|
392
|
+
if (o.partialText) {
|
|
393
|
+
const u = o.partialText.toLowerCase();
|
|
394
394
|
if (d) {
|
|
395
395
|
const l = [];
|
|
396
396
|
for (const c of n) {
|
|
@@ -416,11 +416,11 @@ function y(e, t) {
|
|
|
416
416
|
if (!e || e.length === 0)
|
|
417
417
|
return V(t);
|
|
418
418
|
const a = [];
|
|
419
|
-
for (const
|
|
420
|
-
const
|
|
421
|
-
if (a.push(
|
|
422
|
-
for (const n of
|
|
423
|
-
const r = k(n,
|
|
419
|
+
for (const i of e) {
|
|
420
|
+
const o = k(i);
|
|
421
|
+
if (a.push(o), i.nested)
|
|
422
|
+
for (const n of i.nested) {
|
|
423
|
+
const r = k(n, i.name);
|
|
424
424
|
a.push(r);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
@@ -466,18 +466,18 @@ function k(e, t) {
|
|
|
466
466
|
}
|
|
467
467
|
function x(e, t) {
|
|
468
468
|
let a = [...A];
|
|
469
|
-
return t && (a = a.filter((
|
|
470
|
-
const
|
|
471
|
-
return !
|
|
472
|
-
})), e && (a = a.filter((
|
|
473
|
-
const n = U[
|
|
469
|
+
return t && (a = a.filter((i) => {
|
|
470
|
+
const o = F[i];
|
|
471
|
+
return !o || o.includes(t);
|
|
472
|
+
})), e && (a = a.filter((i) => i.toLowerCase().includes(e.toLowerCase()))), a.map((i, o) => {
|
|
473
|
+
const n = U[i] || { detail: i, documentation: "" }, r = j(i, t);
|
|
474
474
|
return {
|
|
475
|
-
label:
|
|
475
|
+
label: i,
|
|
476
476
|
insertText: r,
|
|
477
477
|
kind: "operator",
|
|
478
478
|
detail: n.detail,
|
|
479
479
|
documentation: n.documentation,
|
|
480
|
-
sortOrder: 20 +
|
|
480
|
+
sortOrder: 20 + o
|
|
481
481
|
};
|
|
482
482
|
});
|
|
483
483
|
}
|
|
@@ -494,14 +494,14 @@ function j(e, t) {
|
|
|
494
494
|
"not_regexp",
|
|
495
495
|
"matches",
|
|
496
496
|
"not_matches"
|
|
497
|
-
],
|
|
497
|
+
], i = ["exists", "not_exists"], o = ["is", "is_not"];
|
|
498
498
|
if (e === "in" || e === "not_in")
|
|
499
499
|
return T(t) ? `${e} [$1]` : `${e} ["$1"]`;
|
|
500
500
|
if (e === "between" || e === "not_between")
|
|
501
501
|
return T(t) ? `${e} $1 AND $2` : `${e} "$1" AND "$2"`;
|
|
502
|
-
if (i.includes(e))
|
|
503
|
-
return `${e} null`;
|
|
504
502
|
if (o.includes(e))
|
|
503
|
+
return `${e} null`;
|
|
504
|
+
if (i.includes(e))
|
|
505
505
|
return e;
|
|
506
506
|
if (e === "cidr" || e === "not_cidr")
|
|
507
507
|
return `${e} "$1"`;
|
|
@@ -545,10 +545,21 @@ function N(e, t = 0) {
|
|
|
545
545
|
sortOrder: 30 + t
|
|
546
546
|
};
|
|
547
547
|
}
|
|
548
|
-
function H(
|
|
549
|
-
|
|
548
|
+
function H() {
|
|
549
|
+
return {
|
|
550
|
+
label: "|",
|
|
551
|
+
insertText: "| ",
|
|
552
|
+
kind: "operator",
|
|
553
|
+
detail: "Pipe to mutator",
|
|
554
|
+
documentation: "Chain field to a mutator function (e.g., hostname | lower)",
|
|
555
|
+
sortOrder: 19
|
|
556
|
+
// Just before operators (20+)
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
function Y(e, t) {
|
|
560
|
+
var i;
|
|
550
561
|
const a = [];
|
|
551
|
-
return e && ((
|
|
562
|
+
return e && ((i = t == null ? void 0 : t.fieldValues) != null && i[e]) && t.fieldValues[e].forEach((n, r) => {
|
|
552
563
|
a.push({
|
|
553
564
|
label: n,
|
|
554
565
|
insertText: `"${n}"`,
|
|
@@ -587,26 +598,26 @@ function H(e, t) {
|
|
|
587
598
|
}
|
|
588
599
|
), a;
|
|
589
600
|
}
|
|
590
|
-
function
|
|
591
|
-
return E.filter((
|
|
592
|
-
label:
|
|
593
|
-
insertText:
|
|
601
|
+
function K(e, t) {
|
|
602
|
+
return E.filter((i) => !t || i.label.toLowerCase().includes(t.toLowerCase())).map((i, o) => ({
|
|
603
|
+
label: i.label,
|
|
604
|
+
insertText: i.insertText,
|
|
594
605
|
kind: "snippet",
|
|
595
|
-
detail:
|
|
596
|
-
documentation: `Insert: ${
|
|
597
|
-
sortOrder: 100 +
|
|
606
|
+
detail: i.description,
|
|
607
|
+
documentation: `Insert: ${i.insertText}`,
|
|
608
|
+
sortOrder: 100 + o
|
|
598
609
|
}));
|
|
599
610
|
}
|
|
600
|
-
function
|
|
611
|
+
function W(e) {
|
|
601
612
|
return D.filter((t) => !e || t.toLowerCase().includes(e.toLowerCase())).map(
|
|
602
613
|
(t, a) => {
|
|
603
|
-
const
|
|
614
|
+
const i = z[t] || { detail: "Field mutator", documentation: "" };
|
|
604
615
|
return {
|
|
605
616
|
label: t,
|
|
606
617
|
insertText: t,
|
|
607
618
|
kind: "mutator",
|
|
608
|
-
detail:
|
|
609
|
-
documentation:
|
|
619
|
+
detail: i.detail,
|
|
620
|
+
documentation: i.documentation,
|
|
610
621
|
sortOrder: 60 + a
|
|
611
622
|
};
|
|
612
623
|
}
|
|
@@ -623,7 +634,7 @@ function O(e) {
|
|
|
623
634
|
sortOrder: 70 + a
|
|
624
635
|
}));
|
|
625
636
|
}
|
|
626
|
-
function
|
|
637
|
+
function Z(e) {
|
|
627
638
|
return P.filter(
|
|
628
639
|
(t) => !e || t.toLowerCase().includes(e.toLowerCase())
|
|
629
640
|
).map((t, a) => ({
|
|
@@ -634,7 +645,7 @@ function W(e) {
|
|
|
634
645
|
sortOrder: 80 + a
|
|
635
646
|
}));
|
|
636
647
|
}
|
|
637
|
-
function
|
|
648
|
+
function J(e) {
|
|
638
649
|
return $.filter(
|
|
639
650
|
(t) => !e || t.toLowerCase().includes(e.toLowerCase())
|
|
640
651
|
).map((t, a) => ({
|
|
@@ -645,27 +656,27 @@ function Z(e) {
|
|
|
645
656
|
sortOrder: 90 + a
|
|
646
657
|
}));
|
|
647
658
|
}
|
|
648
|
-
function
|
|
649
|
-
const
|
|
650
|
-
(
|
|
659
|
+
function ne(e, t) {
|
|
660
|
+
const i = b(e).find(
|
|
661
|
+
(o) => o.start <= t && o.end >= t && o.type !== "whitespace"
|
|
651
662
|
);
|
|
652
|
-
return
|
|
653
|
-
word:
|
|
654
|
-
start:
|
|
655
|
-
end:
|
|
663
|
+
return i ? {
|
|
664
|
+
word: i.value,
|
|
665
|
+
start: i.start,
|
|
666
|
+
end: i.end
|
|
656
667
|
} : null;
|
|
657
668
|
}
|
|
658
|
-
function
|
|
669
|
+
function oe() {
|
|
659
670
|
return [" ", "(", ".", '"', "'", "|", ":", "="];
|
|
660
671
|
}
|
|
661
672
|
function ie(e, t, a) {
|
|
662
673
|
if (a === " " || a === "(" || a === "." || a === "|" || a === ":" || a === "=") return !0;
|
|
663
|
-
const
|
|
664
|
-
return !!(
|
|
674
|
+
const i = b(e.substring(0, t)), o = i[i.length - 1];
|
|
675
|
+
return !!(o && o.type === "field" && o.value.length >= 2);
|
|
665
676
|
}
|
|
666
677
|
export {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
678
|
+
oe as getCompletionTriggerCharacters,
|
|
679
|
+
ae as getCompletions,
|
|
680
|
+
ne as getWordAtPosition,
|
|
670
681
|
ie as shouldTriggerCompletion
|
|
671
682
|
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.tql-autocomplete-dropdown[data-v-3df9a4be]{position:fixed;top:var(--dropdown-top);left:var(--dropdown-left);z-index:9999;min-width:280px;max-width:450px;max-height:var(--dropdown-max-height);background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #ddd);border-radius:var(--border-radius, 6px);box-shadow:0 4px 16px #00000026;overflow:hidden;display:flex;flex-direction:column}.tql-completion-list[data-v-3df9a4be]{overflow-y:auto;max-height:calc(var(--dropdown-max-height) - 60px)}.tql-completion-item[data-v-3df9a4be]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.tql-completion-item[data-v-3df9a4be]:hover,.tql-completion-item.selected[data-v-3df9a4be]{background:var(--highlight-bg, #f0f0f0)}.tql-completion-icon[data-v-3df9a4be]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:4px;font-size:.75rem}.tql-completion-icon.tql-completion-kind-field[data-v-3df9a4be]{background:var(--blue-100, #e3f2fd);color:var(--blue-600, #1e88e5)}.tql-completion-icon.tql-completion-kind-operator[data-v-3df9a4be]{background:var(--pink-100, #fce4ec);color:var(--pink-600, #d81b60)}.tql-completion-icon.tql-completion-kind-value[data-v-3df9a4be]{background:var(--green-100, #e8f5e9);color:var(--green-600, #43a047)}.tql-completion-icon.tql-completion-kind-keyword[data-v-3df9a4be]{background:var(--purple-100, #f3e5f5);color:var(--purple-600, #8e24aa)}.tql-completion-icon.tql-completion-kind-snippet[data-v-3df9a4be]{background:var(--orange-100, #fff3e0);color:var(--orange-600, #fb8c00)}.tql-completion-icon.tql-completion-kind-mutator[data-v-3df9a4be]{background:var(--cyan-100, #e0f7fa);color:var(--cyan-600, #00acc1)}.tql-completion-icon.tql-completion-kind-aggregation[data-v-3df9a4be]{background:var(--indigo-100, #e8eaf6);color:var(--indigo-600, #3949ab)}.tql-completion-icon.tql-completion-kind-logicalOp[data-v-3df9a4be]{background:var(--yellow-100, #fffde7);color:var(--yellow-700, #fbc02d)}.tql-completion-icon.tql-completion-kind-typeHint[data-v-3df9a4be]{background:var(--teal-100, #e0f2f1);color:var(--teal-600, #00897b)}.tql-completion-icon.tql-completion-kind-visualization[data-v-3df9a4be]{background:var(--red-100, #ffebee);color:var(--red-600, #e53935)}.tql-completion-content[data-v-3df9a4be]{flex:1;display:flex;flex-direction:column;min-width:0}.tql-completion-label[data-v-3df9a4be]{font-family:Courier New,monospace;font-size:.875rem;font-weight:500;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-completion-detail[data-v-3df9a4be]{font-size:.75rem;color:var(--text-color-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-completion-kind-badge[data-v-3df9a4be]{font-size:.625rem;padding:.125rem .375rem;background:var(--surface-100, #f5f5f5);border-radius:3px;color:var(--text-color-secondary, #666);text-transform:uppercase;letter-spacing:.025em}.tql-completion-docs[data-v-3df9a4be]{padding:.5rem .75rem;border-top:1px solid var(--surface-border, #ddd);background:var(--surface-50, #fafafa);font-size:.75rem;color:var(--text-color-secondary, #666);max-height:60px;overflow-y:auto}.tql-preview[data-v-bae811e6]{font-family:ui-monospace,monospace;font-size:13px;line-height:1.5;padding:12px;border:1px solid var(--tql-preview-border, #e0e0e0);border-radius:6px;background:var(--tql-preview-bg, #fafafa)}.tql-preview--compact[data-v-bae811e6]{padding:8px;font-size:12px}.tql-preview--empty[data-v-bae811e6]{color:var(--tql-preview-muted, #888)}.tql-preview__empty[data-v-bae811e6]{text-align:center;padding:20px}.tql-preview__complexity[data-v-bae811e6]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tql-preview__complexity-badge[data-v-bae811e6]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.tql-preview--low .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-low-bg, #e8f5e9);color:var(--tql-preview-low-text, #2e7d32)}.tql-preview--medium .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-medium-bg, #fff3e0);color:var(--tql-preview-medium-text, #e65100)}.tql-preview--high .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-high-bg, #ffebee);color:var(--tql-preview-high-text, #c62828)}.tql-preview__field-count[data-v-bae811e6]{color:var(--tql-preview-muted, #666);font-size:12px}.tql-preview__warnings[data-v-bae811e6]{margin-bottom:12px}.tql-preview__warning[data-v-bae811e6]{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:4px;margin-bottom:4px}.tql-preview__warning--info[data-v-bae811e6]{background:var(--tql-preview-info-bg, #e3f2fd);color:var(--tql-preview-info-text, #1565c0)}.tql-preview__warning--warning[data-v-bae811e6]{background:var(--tql-preview-warning-bg, #fff3e0);color:var(--tql-preview-warning-text, #e65100)}.tql-preview__warning--error[data-v-bae811e6]{background:var(--tql-preview-error-bg, #ffebee);color:var(--tql-preview-error-text, #c62828)}.tql-preview__warning-icon[data-v-bae811e6]{font-weight:700;width:16px;text-align:center}.tql-preview__warning-text[data-v-bae811e6]{flex:1}.tql-preview__suggestions[data-v-bae811e6]{margin-bottom:12px;padding:8px;background:var(--tql-preview-suggestion-bg, #f5f5f5);border-radius:4px}.tql-preview__suggestions-header[data-v-bae811e6]{font-weight:600;margin-bottom:4px;color:var(--tql-preview-header, #333)}.tql-preview__suggestions-list[data-v-bae811e6]{margin:0;padding-left:20px}.tql-preview__suggestion[data-v-bae811e6]{color:var(--tql-preview-muted, #666);margin:2px 0}.tql-preview__tree[data-v-bae811e6]{margin-bottom:12px}.tql-preview__tree-header[data-v-bae811e6],.tql-preview__fields-header[data-v-bae811e6],.tql-preview__operators-header[data-v-bae811e6]{font-weight:600;margin-bottom:8px;color:var(--tql-preview-header, #333);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.tql-preview__tree-content[data-v-bae811e6]{border:1px solid var(--tql-preview-tree-border, #e0e0e0);border-radius:4px;background:var(--tql-preview-tree-bg, #fff);padding:8px}.tql-preview__node[data-v-bae811e6]{margin:2px 0}.tql-preview__node-content[data-v-bae811e6]{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:3px;cursor:pointer}.tql-preview__node-content[data-v-bae811e6]:hover{background:var(--tql-preview-node-hover, #f0f0f0)}.tql-preview__node-toggle[data-v-bae811e6]{width:16px;height:16px;border:none;background:var(--tql-preview-toggle-bg, #e0e0e0);border-radius:3px;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.tql-preview__node-toggle[data-v-bae811e6]:hover{background:var(--tql-preview-toggle-hover, #d0d0d0)}.tql-preview__node-toggle--leaf[data-v-bae811e6]{visibility:hidden}.tql-preview__node-type[data-v-bae811e6]{font-weight:600;color:var(--tql-preview-node-type, #666)}.tql-preview__node--and .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-and, #1976d2)}.tql-preview__node--or .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-or, #7b1fa2)}.tql-preview__node--not .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-not, #c62828)}.tql-preview__node--group .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-group, #666)}.tql-preview__node-label[data-v-bae811e6]{flex:1}.tql-preview__fields-list[data-v-bae811e6]{display:flex;flex-direction:column;gap:4px}.tql-preview__field[data-v-bae811e6]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--tql-preview-field-bg, #fff);border:1px solid var(--tql-preview-field-border, #e0e0e0);border-radius:4px;cursor:pointer}.tql-preview__field[data-v-bae811e6]:hover{background:var(--tql-preview-field-hover, #f5f5f5)}.tql-preview__field-name[data-v-bae811e6]{font-weight:600;color:var(--tql-preview-field-name, #1976d2)}.tql-preview__field-mutators[data-v-bae811e6]{color:var(--tql-preview-mutator, #7b1fa2)}.tql-preview__field-operator[data-v-bae811e6]{color:var(--tql-preview-operator, #666)}.tql-preview__field-value[data-v-bae811e6]{color:var(--tql-preview-value, #2e7d32)}.tql-preview__match-type[data-v-bae811e6]{margin-left:auto;padding:1px 4px;border-radius:3px;font-size:10px;font-weight:600;background:var(--tql-preview-match-bg, #f0f0f0)}.tql-preview__match-type--exact[data-v-bae811e6]{background:var(--tql-preview-match-exact-bg, #e8f5e9);color:var(--tql-preview-match-exact, #2e7d32)}.tql-preview__match-type--wildcard[data-v-bae811e6]{background:var(--tql-preview-match-wildcard-bg, #fff3e0);color:var(--tql-preview-match-wildcard, #e65100)}.tql-preview__match-type--regex[data-v-bae811e6]{background:var(--tql-preview-match-regex-bg, #fce4ec);color:var(--tql-preview-match-regex, #c2185b)}.tql-preview__match-type--range[data-v-bae811e6]{background:var(--tql-preview-match-range-bg, #e3f2fd);color:var(--tql-preview-match-range, #1565c0)}.tql-preview__match-type--cidr[data-v-bae811e6]{background:var(--tql-preview-match-cidr-bg, #f3e5f5);color:var(--tql-preview-match-cidr, #7b1fa2)}.tql-preview__operators-list[data-v-bae811e6]{display:flex;flex-wrap:wrap;gap:8px}.tql-preview__operator[data-v-bae811e6]{padding:2px 6px;background:var(--tql-preview-op-bg, #f0f0f0);border-radius:3px;font-size:11px}.tql-input-wrapper[data-v-7cfc9287]{position:relative;display:flex;align-items:flex-start;border:1px solid var(--surface-border, #ddd);border-radius:var(--border-radius, 6px);background:var(--surface-ground, #fff);transition:border-color .2s,box-shadow .2s}.tql-input-wrapper.tql-input-has-min-height[data-v-7cfc9287],.tql-input-wrapper.tql-input-has-min-height .tql-input[data-v-7cfc9287]{min-height:var(--tql-min-height)}.tql-input-wrapper.tql-input-focused[data-v-7cfc9287]{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px var(--primary-100, rgba(59, 130, 246, .2))}.tql-input-wrapper.tql-input-invalid[data-v-7cfc9287]{border-color:var(--red-500, #ef4444)}.tql-input-wrapper.tql-input-invalid.tql-input-focused[data-v-7cfc9287]{box-shadow:0 0 0 2px var(--red-100, rgba(239, 68, 68, .2))}.tql-input-wrapper.tql-input-disabled[data-v-7cfc9287]{opacity:.6;cursor:not-allowed}.tql-highlight-layer[data-v-7cfc9287]{position:absolute;top:0;left:0;right:0;bottom:0;padding:.5rem .75rem;pointer-events:none;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;overflow:hidden}.tql-input-multiline .tql-highlight-layer[data-v-7cfc9287]{overflow-y:auto}.tql-input[data-v-7cfc9287]{flex:1;width:100%;padding:.5rem 8rem .5rem .75rem;border:none;background:transparent;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;color:var(--text-color, #333);outline:none;resize:none}.tql-input.tql-input-highlighted[data-v-7cfc9287]{color:transparent;caret-color:var(--text-color, #333)}.tql-input[data-v-7cfc9287]::placeholder{color:var(--text-color-secondary, #666);opacity:.7}.tql-input[data-v-7cfc9287]:disabled{cursor:not-allowed}.tql-token-field[data-v-7cfc9287]{color:var(--tql-field-color, var(--blue-600, #2563eb))}.tql-token-operator[data-v-7cfc9287]{color:var(--tql-operator-color, var(--pink-600, #db2777));font-weight:500}.tql-token-logicalOp[data-v-7cfc9287]{color:var(--tql-logical-color, var(--purple-600, #9333ea));font-weight:600}.tql-token-collectionOp[data-v-7cfc9287]{color:var(--tql-collection-color, var(--indigo-600, #4f46e5));font-weight:600}.tql-token-string[data-v-7cfc9287]{color:var(--tql-string-color, var(--green-600, #16a34a))}.tql-token-number[data-v-7cfc9287]{color:var(--tql-number-color, var(--orange-600, #ea580c))}.tql-token-boolean[data-v-7cfc9287]{color:var(--tql-boolean-color, var(--cyan-600, #0891b2))}.tql-token-null[data-v-7cfc9287]{color:var(--tql-null-color, var(--gray-500, #6b7280));font-style:italic}.tql-token-mutator[data-v-7cfc9287]{color:var(--tql-mutator-color, var(--teal-600, #0d9488));font-style:italic}.tql-token-aggregation[data-v-7cfc9287]{color:var(--tql-aggregation-color, var(--indigo-600, #4f46e5))}.tql-token-keyword[data-v-7cfc9287]{color:var(--tql-keyword-color, var(--purple-500, #a855f7))}.tql-token-typeHint[data-v-7cfc9287]{color:var(--tql-typehint-color, var(--teal-500, #14b8a6))}.tql-token-visualization[data-v-7cfc9287]{color:var(--tql-viz-color, var(--red-500, #ef4444))}.tql-token-arrow[data-v-7cfc9287]{color:var(--tql-arrow-color, var(--gray-600, #4b5563));font-weight:600}.tql-token-doubleColon[data-v-7cfc9287]{color:var(--tql-colon-color, var(--gray-500, #6b7280))}.tql-token-paren[data-v-7cfc9287],.tql-token-bracket[data-v-7cfc9287]{color:var(--tql-bracket-color, var(--gray-600, #4b5563))}.tql-token-error[data-v-7cfc9287]{color:var(--tql-error-color, var(--red-600, #dc2626));text-decoration:wavy underline;text-decoration-color:var(--red-400, #f87171)}.tql-token-error-range[data-v-7cfc9287]{background-color:var(--red-50, #fef2f2)}.tql-token-unknown[data-v-7cfc9287]{color:var(--text-color-secondary, #666)}.tql-validation-icon[data-v-7cfc9287]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.tql-input-multiline .tql-validation-icon[data-v-7cfc9287]{top:.75rem;transform:none}.tql-icon-valid[data-v-7cfc9287]{color:var(--green-500, #22c55e)}.tql-icon-invalid[data-v-7cfc9287]{color:var(--red-500, #ef4444)}.tql-icon-clickable[data-v-7cfc9287]{cursor:pointer;transition:transform .2s}.tql-icon-clickable[data-v-7cfc9287]:hover{transform:scale(1.2)}.tql-icon-clickable[data-v-7cfc9287]:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;border-radius:50%}.tql-snippet-button[data-v-7cfc9287]{position:absolute;right:2rem;top:50%;transform:translateY(-50%);padding:.25rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 6px);transition:color .2s,background-color .2s}.tql-snippet-button[data-v-7cfc9287]:hover{color:var(--primary-color, #3b82f6);background:var(--surface-100, #f5f5f5)}.tql-input-multiline .tql-snippet-button[data-v-7cfc9287]{top:.75rem;transform:none}.tql-input-resizable-textarea[data-v-7cfc9287]{resize:vertical;min-height:80px}.tql-input-wrapper.tql-input-resizable[data-v-7cfc9287]{height:auto}.tql-input-wrapper.tql-input-resizable .tql-highlight-layer[data-v-7cfc9287]{height:100%}.tql-validation-messages[data-v-7cfc9287]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--red-200, #fecaca);border-radius:var(--border-radius, 6px);padding:.5rem;z-index:10;box-shadow:0 2px 8px #0000001a}.tql-input-autocomplete-active .tql-validation-messages[data-v-7cfc9287],.tql-input-autocomplete-active .tql-complexity-warnings[data-v-7cfc9287],.tql-input-autocomplete-active .tql-history-dropdown[data-v-7cfc9287],.tql-input-autocomplete-active .tql-preview-panel[data-v-7cfc9287]{display:none!important}.tql-error-message[data-v-7cfc9287]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--red-600, #dc2626)}.tql-error-message i[data-v-7cfc9287]{margin-top:.125rem;font-size:.75rem}.tql-error-suggestion[data-v-7cfc9287]{display:block;color:var(--text-color-secondary, #666);font-style:italic;margin-left:1.25rem}.sr-only[data-v-7cfc9287]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tql-toolbar[data-v-7cfc9287]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem}.tql-input-multiline .tql-toolbar[data-v-7cfc9287]{top:.5rem;transform:none}.tql-toolbar-button[data-v-7cfc9287]{padding:.25rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 4px);transition:color .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.tql-toolbar-button[data-v-7cfc9287]:hover{color:var(--primary-color, #3b82f6);background:var(--surface-100, #f5f5f5)}.tql-toolbar-button--active[data-v-7cfc9287]{color:var(--primary-color, #3b82f6);background:var(--primary-100, rgba(59, 130, 246, .1))}.tql-validation-status[data-v-7cfc9287]{display:flex;align-items:center}.tql-complexity-badge[data-v-7cfc9287]{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tql-complexity-low[data-v-7cfc9287]{background:var(--green-100, #dcfce7);color:var(--green-700, #15803d)}.tql-complexity-medium[data-v-7cfc9287]{background:var(--yellow-100, #fef9c3);color:var(--yellow-700, #a16207)}.tql-complexity-high[data-v-7cfc9287]{background:var(--red-100, #fee2e2);color:var(--red-700, #b91c1c)}.tql-complexity-count[data-v-7cfc9287]{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .25rem;border-radius:9999px;background:currentColor;color:#fff;font-size:.5rem}.tql-complexity-low .tql-complexity-count[data-v-7cfc9287]{background:var(--green-600, #16a34a)}.tql-complexity-medium .tql-complexity-count[data-v-7cfc9287]{background:var(--yellow-600, #ca8a04)}.tql-complexity-high .tql-complexity-count[data-v-7cfc9287]{background:var(--red-600, #dc2626)}.tql-complexity-warnings[data-v-7cfc9287]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);padding:.5rem;z-index:9;box-shadow:0 2px 8px #0000001a}.tql-complexity-warning[data-v-7cfc9287]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem}.tql-complexity-warning i[data-v-7cfc9287]{margin-top:.125rem;font-size:.75rem}.tql-complexity-warning--info[data-v-7cfc9287]{color:var(--blue-600, #2563eb)}.tql-complexity-warning--warning[data-v-7cfc9287]{color:var(--yellow-600, #ca8a04)}.tql-complexity-warning--error[data-v-7cfc9287]{color:var(--red-600, #dc2626)}.tql-complexity-suggestions[data-v-7cfc9287]{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--surface-border, #e0e0e0)}.tql-complexity-suggestion[data-v-7cfc9287]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--text-color-secondary, #666)}.tql-complexity-suggestion i[data-v-7cfc9287]{color:var(--yellow-500, #eab308)}.tql-history-dropdown[data-v-7cfc9287]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);z-index:20;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.tql-history-header[data-v-7cfc9287]{padding:.5rem;border-bottom:1px solid var(--surface-border, #e0e0e0)}.tql-history-search[data-v-7cfc9287]{width:100%;padding:.375rem .5rem;border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 4px);font-size:.75rem;outline:none}.tql-history-search[data-v-7cfc9287]:focus{border-color:var(--primary-color, #3b82f6)}.tql-history-list[data-v-7cfc9287]{overflow-y:auto;flex:1}.tql-history-item[data-v-7cfc9287]{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;cursor:pointer;border-bottom:1px solid var(--surface-50, #f9fafb);transition:background-color .15s}.tql-history-item[data-v-7cfc9287]:hover{background:var(--surface-100, #f5f5f5)}.tql-history-item--favorite[data-v-7cfc9287]{background:var(--yellow-50, #fefce8)}.tql-history-item--favorite[data-v-7cfc9287]:hover{background:var(--yellow-100, #fef9c3)}.tql-history-favorite[data-v-7cfc9287]{padding:.125rem;border:none;background:transparent;color:var(--text-color-secondary, #999);cursor:pointer;flex-shrink:0}.tql-history-favorite[data-v-7cfc9287]:hover,.tql-history-item--favorite .tql-history-favorite[data-v-7cfc9287]{color:var(--yellow-500, #eab308)}.tql-history-content[data-v-7cfc9287]{flex:1;min-width:0}.tql-history-label[data-v-7cfc9287]{font-size:.6875rem;font-weight:600;color:var(--text-color, #333);margin-bottom:.125rem}.tql-history-query[data-v-7cfc9287]{font-family:Courier New,monospace;font-size:.6875rem;color:var(--text-color-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-history-time[data-v-7cfc9287]{font-size:.625rem;color:var(--text-color-secondary, #999);flex-shrink:0}.tql-history-empty[data-v-7cfc9287]{padding:1rem;text-align:center;color:var(--text-color-secondary, #666);font-size:.75rem}.tql-preview-panel[data-v-7cfc9287]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);z-index:15;box-shadow:0 4px 12px #00000026;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.tql-preview-header[data-v-7cfc9287]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--surface-border, #e0e0e0);font-size:.75rem;font-weight:600;color:var(--text-color, #333)}.tql-preview-close[data-v-7cfc9287]{padding:.125rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 4px)}.tql-preview-close[data-v-7cfc9287]:hover{background:var(--surface-100, #f5f5f5);color:var(--text-color, #333)}.tql-preview-panel[data-v-7cfc9287] .tql-preview{border:none;border-radius:0;max-height:350px;overflow-y:auto}.tql-validation-messages-portal{position:fixed;top:var(--tql-msg-top, 0);left:var(--tql-msg-left, 0);width:var(--tql-msg-width, auto);z-index:9998;background:var(--surface-overlay, #fff);border:2px solid var(--red-500, #ef4444);border-radius:var(--border-radius, 6px);padding:.5rem;box-shadow:0 4px 12px #00000026}.tql-validation-messages-portal .tql-error-message{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--red-600, #dc2626)}.tql-validation-messages-portal .tql-error-message i{margin-top:.125rem;font-size:.75rem}.tql-validation-messages-portal .tql-error-suggestion{display:block;color:var(--text-color-secondary, #6b7280);font-style:italic;margin-left:1.25rem}
|
|
1
|
+
.tql-autocomplete-dropdown[data-v-e29dd6a7]{position:fixed;top:var(--dropdown-top);left:var(--dropdown-left);z-index:9999;min-width:280px;max-width:450px;max-height:var(--dropdown-max-height);background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #ddd);border-radius:var(--border-radius, 6px);box-shadow:0 4px 16px #00000026;overflow:hidden;display:flex;flex-direction:column}.tql-completion-list[data-v-e29dd6a7]{overflow-y:auto;max-height:calc(var(--dropdown-max-height) - 60px)}.tql-completion-item[data-v-e29dd6a7]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.tql-completion-item[data-v-e29dd6a7]:hover,.tql-completion-item.selected[data-v-e29dd6a7]{background:var(--highlight-bg, #f0f0f0)}.tql-completion-icon[data-v-e29dd6a7]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:4px;font-size:.75rem}.tql-completion-icon.tql-completion-kind-field[data-v-e29dd6a7]{background:var(--blue-100, #e3f2fd);color:var(--blue-600, #1e88e5)}.tql-completion-icon.tql-completion-kind-operator[data-v-e29dd6a7]{background:var(--pink-100, #fce4ec);color:var(--pink-600, #d81b60)}.tql-completion-icon.tql-completion-kind-value[data-v-e29dd6a7]{background:var(--green-100, #e8f5e9);color:var(--green-600, #43a047)}.tql-completion-icon.tql-completion-kind-keyword[data-v-e29dd6a7]{background:var(--purple-100, #f3e5f5);color:var(--purple-600, #8e24aa)}.tql-completion-icon.tql-completion-kind-snippet[data-v-e29dd6a7]{background:var(--orange-100, #fff3e0);color:var(--orange-600, #fb8c00)}.tql-completion-icon.tql-completion-kind-mutator[data-v-e29dd6a7]{background:var(--cyan-100, #e0f7fa);color:var(--cyan-600, #00acc1)}.tql-completion-icon.tql-completion-kind-aggregation[data-v-e29dd6a7]{background:var(--indigo-100, #e8eaf6);color:var(--indigo-600, #3949ab)}.tql-completion-icon.tql-completion-kind-logicalOp[data-v-e29dd6a7]{background:var(--yellow-100, #fffde7);color:var(--yellow-700, #fbc02d)}.tql-completion-icon.tql-completion-kind-typeHint[data-v-e29dd6a7]{background:var(--teal-100, #e0f2f1);color:var(--teal-600, #00897b)}.tql-completion-icon.tql-completion-kind-visualization[data-v-e29dd6a7]{background:var(--red-100, #ffebee);color:var(--red-600, #e53935)}.tql-completion-content[data-v-e29dd6a7]{flex:1;display:flex;flex-direction:column;min-width:0}.tql-completion-label[data-v-e29dd6a7]{font-family:Courier New,monospace;font-size:.875rem;font-weight:500;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-completion-detail[data-v-e29dd6a7]{font-size:.75rem;color:var(--text-color-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-completion-kind-badge[data-v-e29dd6a7]{font-size:.625rem;padding:.125rem .375rem;background:var(--surface-100, #f5f5f5);border-radius:3px;color:var(--text-color-secondary, #666);text-transform:uppercase;letter-spacing:.025em}.tql-completion-docs[data-v-e29dd6a7]{padding:.5rem .75rem;border-top:1px solid var(--surface-border, #ddd);background:var(--surface-50, #fafafa);font-size:.75rem;color:var(--text-color-secondary, #666);max-height:60px;overflow-y:auto}.tql-preview[data-v-bae811e6]{font-family:ui-monospace,monospace;font-size:13px;line-height:1.5;padding:12px;border:1px solid var(--tql-preview-border, #e0e0e0);border-radius:6px;background:var(--tql-preview-bg, #fafafa)}.tql-preview--compact[data-v-bae811e6]{padding:8px;font-size:12px}.tql-preview--empty[data-v-bae811e6]{color:var(--tql-preview-muted, #888)}.tql-preview__empty[data-v-bae811e6]{text-align:center;padding:20px}.tql-preview__complexity[data-v-bae811e6]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tql-preview__complexity-badge[data-v-bae811e6]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.tql-preview--low .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-low-bg, #e8f5e9);color:var(--tql-preview-low-text, #2e7d32)}.tql-preview--medium .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-medium-bg, #fff3e0);color:var(--tql-preview-medium-text, #e65100)}.tql-preview--high .tql-preview__complexity-badge[data-v-bae811e6]{background:var(--tql-preview-high-bg, #ffebee);color:var(--tql-preview-high-text, #c62828)}.tql-preview__field-count[data-v-bae811e6]{color:var(--tql-preview-muted, #666);font-size:12px}.tql-preview__warnings[data-v-bae811e6]{margin-bottom:12px}.tql-preview__warning[data-v-bae811e6]{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:4px;margin-bottom:4px}.tql-preview__warning--info[data-v-bae811e6]{background:var(--tql-preview-info-bg, #e3f2fd);color:var(--tql-preview-info-text, #1565c0)}.tql-preview__warning--warning[data-v-bae811e6]{background:var(--tql-preview-warning-bg, #fff3e0);color:var(--tql-preview-warning-text, #e65100)}.tql-preview__warning--error[data-v-bae811e6]{background:var(--tql-preview-error-bg, #ffebee);color:var(--tql-preview-error-text, #c62828)}.tql-preview__warning-icon[data-v-bae811e6]{font-weight:700;width:16px;text-align:center}.tql-preview__warning-text[data-v-bae811e6]{flex:1}.tql-preview__suggestions[data-v-bae811e6]{margin-bottom:12px;padding:8px;background:var(--tql-preview-suggestion-bg, #f5f5f5);border-radius:4px}.tql-preview__suggestions-header[data-v-bae811e6]{font-weight:600;margin-bottom:4px;color:var(--tql-preview-header, #333)}.tql-preview__suggestions-list[data-v-bae811e6]{margin:0;padding-left:20px}.tql-preview__suggestion[data-v-bae811e6]{color:var(--tql-preview-muted, #666);margin:2px 0}.tql-preview__tree[data-v-bae811e6]{margin-bottom:12px}.tql-preview__tree-header[data-v-bae811e6],.tql-preview__fields-header[data-v-bae811e6],.tql-preview__operators-header[data-v-bae811e6]{font-weight:600;margin-bottom:8px;color:var(--tql-preview-header, #333);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.tql-preview__tree-content[data-v-bae811e6]{border:1px solid var(--tql-preview-tree-border, #e0e0e0);border-radius:4px;background:var(--tql-preview-tree-bg, #fff);padding:8px}.tql-preview__node[data-v-bae811e6]{margin:2px 0}.tql-preview__node-content[data-v-bae811e6]{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:3px;cursor:pointer}.tql-preview__node-content[data-v-bae811e6]:hover{background:var(--tql-preview-node-hover, #f0f0f0)}.tql-preview__node-toggle[data-v-bae811e6]{width:16px;height:16px;border:none;background:var(--tql-preview-toggle-bg, #e0e0e0);border-radius:3px;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.tql-preview__node-toggle[data-v-bae811e6]:hover{background:var(--tql-preview-toggle-hover, #d0d0d0)}.tql-preview__node-toggle--leaf[data-v-bae811e6]{visibility:hidden}.tql-preview__node-type[data-v-bae811e6]{font-weight:600;color:var(--tql-preview-node-type, #666)}.tql-preview__node--and .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-and, #1976d2)}.tql-preview__node--or .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-or, #7b1fa2)}.tql-preview__node--not .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-not, #c62828)}.tql-preview__node--group .tql-preview__node-type[data-v-bae811e6]{color:var(--tql-preview-group, #666)}.tql-preview__node-label[data-v-bae811e6]{flex:1}.tql-preview__fields-list[data-v-bae811e6]{display:flex;flex-direction:column;gap:4px}.tql-preview__field[data-v-bae811e6]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--tql-preview-field-bg, #fff);border:1px solid var(--tql-preview-field-border, #e0e0e0);border-radius:4px;cursor:pointer}.tql-preview__field[data-v-bae811e6]:hover{background:var(--tql-preview-field-hover, #f5f5f5)}.tql-preview__field-name[data-v-bae811e6]{font-weight:600;color:var(--tql-preview-field-name, #1976d2)}.tql-preview__field-mutators[data-v-bae811e6]{color:var(--tql-preview-mutator, #7b1fa2)}.tql-preview__field-operator[data-v-bae811e6]{color:var(--tql-preview-operator, #666)}.tql-preview__field-value[data-v-bae811e6]{color:var(--tql-preview-value, #2e7d32)}.tql-preview__match-type[data-v-bae811e6]{margin-left:auto;padding:1px 4px;border-radius:3px;font-size:10px;font-weight:600;background:var(--tql-preview-match-bg, #f0f0f0)}.tql-preview__match-type--exact[data-v-bae811e6]{background:var(--tql-preview-match-exact-bg, #e8f5e9);color:var(--tql-preview-match-exact, #2e7d32)}.tql-preview__match-type--wildcard[data-v-bae811e6]{background:var(--tql-preview-match-wildcard-bg, #fff3e0);color:var(--tql-preview-match-wildcard, #e65100)}.tql-preview__match-type--regex[data-v-bae811e6]{background:var(--tql-preview-match-regex-bg, #fce4ec);color:var(--tql-preview-match-regex, #c2185b)}.tql-preview__match-type--range[data-v-bae811e6]{background:var(--tql-preview-match-range-bg, #e3f2fd);color:var(--tql-preview-match-range, #1565c0)}.tql-preview__match-type--cidr[data-v-bae811e6]{background:var(--tql-preview-match-cidr-bg, #f3e5f5);color:var(--tql-preview-match-cidr, #7b1fa2)}.tql-preview__operators-list[data-v-bae811e6]{display:flex;flex-wrap:wrap;gap:8px}.tql-preview__operator[data-v-bae811e6]{padding:2px 6px;background:var(--tql-preview-op-bg, #f0f0f0);border-radius:3px;font-size:11px}.tql-input-wrapper[data-v-c7135df3]{position:relative;display:flex;align-items:flex-start;border:1px solid var(--surface-border, #ddd);border-radius:var(--border-radius, 6px);background:var(--surface-ground, #fff);transition:border-color .2s,box-shadow .2s}.tql-input-wrapper.tql-input-has-min-height[data-v-c7135df3],.tql-input-wrapper.tql-input-has-min-height .tql-input[data-v-c7135df3]{min-height:var(--tql-min-height)}.tql-input-wrapper.tql-input-focused[data-v-c7135df3]{border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px var(--primary-100, rgba(59, 130, 246, .2))}.tql-input-wrapper.tql-input-invalid[data-v-c7135df3]{border-color:var(--red-500, #ef4444)}.tql-input-wrapper.tql-input-invalid.tql-input-focused[data-v-c7135df3]{box-shadow:0 0 0 2px var(--red-100, rgba(239, 68, 68, .2))}.tql-input-wrapper.tql-input-disabled[data-v-c7135df3]{opacity:.6;cursor:not-allowed}.tql-highlight-layer[data-v-c7135df3]{position:absolute;top:0;left:0;right:0;bottom:0;padding:.5rem .75rem;pointer-events:none;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;overflow:hidden}.tql-input-multiline .tql-highlight-layer[data-v-c7135df3]{overflow-y:auto}.tql-input[data-v-c7135df3]{flex:1;width:100%;padding:.5rem 8rem .5rem .75rem;border:none;background:transparent;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;color:var(--text-color, #333);outline:none;resize:none}.tql-input.tql-input-highlighted[data-v-c7135df3]{color:transparent;caret-color:var(--text-color, #333)}.tql-input[data-v-c7135df3]::placeholder{color:var(--text-color-secondary, #666);opacity:.7}.tql-input[data-v-c7135df3]:disabled{cursor:not-allowed}.tql-token-field[data-v-c7135df3]{color:var(--tql-field-color, var(--blue-600, #2563eb))}.tql-token-operator[data-v-c7135df3]{color:var(--tql-operator-color, var(--pink-600, #db2777));font-weight:500}.tql-token-logicalOp[data-v-c7135df3]{color:var(--tql-logical-color, var(--purple-600, #9333ea));font-weight:600}.tql-token-collectionOp[data-v-c7135df3]{color:var(--tql-collection-color, var(--indigo-600, #4f46e5));font-weight:600}.tql-token-string[data-v-c7135df3]{color:var(--tql-string-color, var(--green-600, #16a34a))}.tql-token-number[data-v-c7135df3]{color:var(--tql-number-color, var(--orange-600, #ea580c))}.tql-token-boolean[data-v-c7135df3]{color:var(--tql-boolean-color, var(--cyan-600, #0891b2))}.tql-token-null[data-v-c7135df3]{color:var(--tql-null-color, var(--gray-500, #6b7280));font-style:italic}.tql-token-mutator[data-v-c7135df3]{color:var(--tql-mutator-color, var(--teal-600, #0d9488));font-style:italic}.tql-token-aggregation[data-v-c7135df3]{color:var(--tql-aggregation-color, var(--indigo-600, #4f46e5))}.tql-token-keyword[data-v-c7135df3]{color:var(--tql-keyword-color, var(--purple-500, #a855f7))}.tql-token-typeHint[data-v-c7135df3]{color:var(--tql-typehint-color, var(--teal-500, #14b8a6))}.tql-token-visualization[data-v-c7135df3]{color:var(--tql-viz-color, var(--red-500, #ef4444))}.tql-token-arrow[data-v-c7135df3]{color:var(--tql-arrow-color, var(--gray-600, #4b5563));font-weight:600}.tql-token-doubleColon[data-v-c7135df3]{color:var(--tql-colon-color, var(--gray-500, #6b7280))}.tql-token-paren[data-v-c7135df3],.tql-token-bracket[data-v-c7135df3]{color:var(--tql-bracket-color, var(--gray-600, #4b5563))}.tql-token-error[data-v-c7135df3]{color:var(--tql-error-color, var(--red-600, #dc2626));text-decoration:wavy underline;text-decoration-color:var(--red-400, #f87171)}.tql-token-error-range[data-v-c7135df3]{background-color:var(--red-50, #fef2f2)}.tql-token-unknown[data-v-c7135df3]{color:var(--text-color-secondary, #666)}.tql-validation-icon[data-v-c7135df3]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.tql-input-multiline .tql-validation-icon[data-v-c7135df3]{top:.75rem;transform:none}.tql-icon-valid[data-v-c7135df3]{color:var(--green-500, #22c55e)}.tql-icon-invalid[data-v-c7135df3]{color:var(--red-500, #ef4444)}.tql-icon-clickable[data-v-c7135df3]{cursor:pointer;transition:transform .2s}.tql-icon-clickable[data-v-c7135df3]:hover{transform:scale(1.2)}.tql-icon-clickable[data-v-c7135df3]:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px;border-radius:50%}.tql-snippet-button[data-v-c7135df3]{position:absolute;right:2rem;top:50%;transform:translateY(-50%);padding:.25rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 6px);transition:color .2s,background-color .2s}.tql-snippet-button[data-v-c7135df3]:hover{color:var(--primary-color, #3b82f6);background:var(--surface-100, #f5f5f5)}.tql-input-multiline .tql-snippet-button[data-v-c7135df3]{top:.75rem;transform:none}.tql-input-resizable-textarea[data-v-c7135df3]{resize:vertical;min-height:80px}.tql-input-wrapper.tql-input-resizable[data-v-c7135df3]{height:auto}.tql-input-wrapper.tql-input-resizable .tql-highlight-layer[data-v-c7135df3]{height:100%}.tql-validation-messages[data-v-c7135df3]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--red-200, #fecaca);border-radius:var(--border-radius, 6px);padding:.5rem;z-index:10;box-shadow:0 2px 8px #0000001a}.tql-input-autocomplete-active .tql-validation-messages[data-v-c7135df3],.tql-input-autocomplete-active .tql-complexity-warnings[data-v-c7135df3],.tql-input-autocomplete-active .tql-history-dropdown[data-v-c7135df3],.tql-input-autocomplete-active .tql-preview-panel[data-v-c7135df3]{display:none!important}.tql-error-message[data-v-c7135df3]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--red-600, #dc2626)}.tql-error-message i[data-v-c7135df3]{margin-top:.125rem;font-size:.75rem}.tql-error-suggestion[data-v-c7135df3]{display:block;color:var(--text-color-secondary, #666);font-style:italic;margin-left:1.25rem}.sr-only[data-v-c7135df3]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tql-toolbar[data-v-c7135df3]{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem}.tql-input-multiline .tql-toolbar[data-v-c7135df3]{top:.5rem;transform:none}.tql-toolbar-button[data-v-c7135df3]{padding:.25rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 4px);transition:color .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.tql-toolbar-button[data-v-c7135df3]:hover{color:var(--primary-color, #3b82f6);background:var(--surface-100, #f5f5f5)}.tql-toolbar-button--active[data-v-c7135df3]{color:var(--primary-color, #3b82f6);background:var(--primary-100, rgba(59, 130, 246, .1))}.tql-validation-status[data-v-c7135df3]{display:flex;align-items:center}.tql-complexity-badge[data-v-c7135df3]{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.tql-complexity-low[data-v-c7135df3]{background:var(--green-100, #dcfce7);color:var(--green-700, #15803d)}.tql-complexity-medium[data-v-c7135df3]{background:var(--yellow-100, #fef9c3);color:var(--yellow-700, #a16207)}.tql-complexity-high[data-v-c7135df3]{background:var(--red-100, #fee2e2);color:var(--red-700, #b91c1c)}.tql-complexity-count[data-v-c7135df3]{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .25rem;border-radius:9999px;background:currentColor;color:#fff;font-size:.5rem}.tql-complexity-low .tql-complexity-count[data-v-c7135df3]{background:var(--green-600, #16a34a)}.tql-complexity-medium .tql-complexity-count[data-v-c7135df3]{background:var(--yellow-600, #ca8a04)}.tql-complexity-high .tql-complexity-count[data-v-c7135df3]{background:var(--red-600, #dc2626)}.tql-complexity-warnings[data-v-c7135df3]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);padding:.5rem;z-index:9;box-shadow:0 2px 8px #0000001a}.tql-complexity-warning[data-v-c7135df3]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem}.tql-complexity-warning i[data-v-c7135df3]{margin-top:.125rem;font-size:.75rem}.tql-complexity-warning--info[data-v-c7135df3]{color:var(--blue-600, #2563eb)}.tql-complexity-warning--warning[data-v-c7135df3]{color:var(--yellow-600, #ca8a04)}.tql-complexity-warning--error[data-v-c7135df3]{color:var(--red-600, #dc2626)}.tql-complexity-suggestions[data-v-c7135df3]{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--surface-border, #e0e0e0)}.tql-complexity-suggestion[data-v-c7135df3]{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--text-color-secondary, #666)}.tql-complexity-suggestion i[data-v-c7135df3]{color:var(--yellow-500, #eab308)}.tql-history-dropdown[data-v-c7135df3]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);z-index:20;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.tql-history-header[data-v-c7135df3]{padding:.5rem;border-bottom:1px solid var(--surface-border, #e0e0e0)}.tql-history-search[data-v-c7135df3]{width:100%;padding:.375rem .5rem;border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 4px);font-size:.75rem;outline:none}.tql-history-search[data-v-c7135df3]:focus{border-color:var(--primary-color, #3b82f6)}.tql-history-list[data-v-c7135df3]{overflow-y:auto;flex:1}.tql-history-item[data-v-c7135df3]{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;cursor:pointer;border-bottom:1px solid var(--surface-50, #f9fafb);transition:background-color .15s}.tql-history-item[data-v-c7135df3]:hover{background:var(--surface-100, #f5f5f5)}.tql-history-item--favorite[data-v-c7135df3]{background:var(--yellow-50, #fefce8)}.tql-history-item--favorite[data-v-c7135df3]:hover{background:var(--yellow-100, #fef9c3)}.tql-history-favorite[data-v-c7135df3]{padding:.125rem;border:none;background:transparent;color:var(--text-color-secondary, #999);cursor:pointer;flex-shrink:0}.tql-history-favorite[data-v-c7135df3]:hover,.tql-history-item--favorite .tql-history-favorite[data-v-c7135df3]{color:var(--yellow-500, #eab308)}.tql-history-content[data-v-c7135df3]{flex:1;min-width:0}.tql-history-label[data-v-c7135df3]{font-size:.6875rem;font-weight:600;color:var(--text-color, #333);margin-bottom:.125rem}.tql-history-query[data-v-c7135df3]{font-family:Courier New,monospace;font-size:.6875rem;color:var(--text-color-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tql-history-time[data-v-c7135df3]{font-size:.625rem;color:var(--text-color-secondary, #999);flex-shrink:0}.tql-history-empty[data-v-c7135df3]{padding:1rem;text-align:center;color:var(--text-color-secondary, #666);font-size:.75rem}.tql-preview-panel[data-v-c7135df3]{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--surface-overlay, #fff);border:1px solid var(--surface-border, #e0e0e0);border-radius:var(--border-radius, 6px);z-index:15;box-shadow:0 4px 12px #00000026;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.tql-preview-header[data-v-c7135df3]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--surface-border, #e0e0e0);font-size:.75rem;font-weight:600;color:var(--text-color, #333)}.tql-preview-close[data-v-c7135df3]{padding:.125rem;border:none;background:transparent;color:var(--text-color-secondary, #666);cursor:pointer;border-radius:var(--border-radius, 4px)}.tql-preview-close[data-v-c7135df3]:hover{background:var(--surface-100, #f5f5f5);color:var(--text-color, #333)}.tql-preview-panel[data-v-c7135df3] .tql-preview{border:none;border-radius:0;max-height:350px;overflow-y:auto}.tql-validation-messages-portal{position:fixed;top:var(--tql-msg-top, 0);left:var(--tql-msg-left, 0);width:var(--tql-msg-width, auto);z-index:9998;background:var(--surface-overlay, #fff);border:2px solid var(--red-500, #ef4444);border-radius:var(--border-radius, 6px);padding:.5rem;box-shadow:0 4px 12px #00000026}.tql-validation-messages-portal .tql-error-message{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.75rem;color:var(--red-600, #dc2626)}.tql-validation-messages-portal .tql-error-message i{margin-top:.125rem;font-size:.75rem}.tql-validation-messages-portal .tql-error-suggestion{display:block;color:var(--text-color-secondary, #6b7280);font-style:italic;margin-left:1.25rem}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./TqlAutocomplete.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e29dd6a7"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineComponent as C, ref as w, watch as D, nextTick as L, computed as T, onMounted as S, onUnmounted as B, openBlock as l, createBlock as M, Teleport as z, createElementBlock as s, withModifiers as A, normalizeStyle as H, createElementVNode as u, Fragment as I, renderList as K, normalizeClass as f, toDisplayString as m, createCommentVNode as v } from "vue";
|
|
2
|
-
const U = ["id", "aria-activedescendant"], V = { class: "tql-completion-list" }, _ = ["id", "aria-selected", "onClick", "onMouseenter"], N = { class: "tql-completion-content" }, O = { class: "tql-completion-label" },
|
|
2
|
+
const U = ["id", "aria-activedescendant"], V = { class: "tql-completion-list" }, _ = ["id", "aria-selected", "onClick", "onMouseenter"], N = { class: "tql-completion-content" }, O = { class: "tql-completion-label" }, P = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "tql-completion-detail"
|
|
5
|
-
},
|
|
5
|
+
}, R = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "tql-completion-kind-badge"
|
|
8
|
-
},
|
|
8
|
+
}, F = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "tql-completion-docs"
|
|
11
11
|
}, j = /* @__PURE__ */ C({
|
|
@@ -34,7 +34,7 @@ const U = ["id", "aria-activedescendant"], V = { class: "tql-completion-list" },
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
function k(i) {
|
|
37
|
-
if (!(!t.visible || t.items.length === 0))
|
|
37
|
+
if (!i.defaultPrevented && !(!t.visible || t.items.length === 0))
|
|
38
38
|
switch (i.key) {
|
|
39
39
|
case "ArrowDown":
|
|
40
40
|
i.preventDefault(), e.value = (e.value + 1) % t.items.length, d();
|
|
@@ -126,12 +126,12 @@ const U = ["id", "aria-activedescendant"], V = { class: "tql-completion-list" },
|
|
|
126
126
|
], 2),
|
|
127
127
|
u("span", N, [
|
|
128
128
|
u("span", O, m(n.label), 1),
|
|
129
|
-
n.detail ? (l(), s("span",
|
|
129
|
+
n.detail ? (l(), s("span", P, m(n.detail), 1)) : v("", !0)
|
|
130
130
|
]),
|
|
131
|
-
n.kind ? (l(), s("span",
|
|
131
|
+
n.kind ? (l(), s("span", R, m(n.kind), 1)) : v("", !0)
|
|
132
132
|
], 42, _))), 128))
|
|
133
133
|
]),
|
|
134
|
-
(g = o.items[e.value]) != null && g.documentation ? (l(), s("div",
|
|
134
|
+
(g = o.items[e.value]) != null && g.documentation ? (l(), s("div", F, m(o.items[e.value].documentation), 1)) : v("", !0)
|
|
135
135
|
], 44, U)) : v("", !0)
|
|
136
136
|
]);
|
|
137
137
|
};
|
package/dist/vue/TqlInput.vue.js
CHANGED
|
@@ -2,7 +2,7 @@ import o from "./TqlInput.vue2.js";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
import t from "../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
-
const
|
|
5
|
+
const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-c7135df3"]]);
|
|
6
6
|
export {
|
|
7
|
-
|
|
7
|
+
_ as default
|
|
8
8
|
};
|