@luzmo/lucero 1.0.2 → 1.0.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/components/action-button/action-button.d.ts +11 -0
- package/components/action-button/index.cjs +1 -1
- package/components/action-button/index.d.ts +1 -0
- package/components/action-button/index.js +1 -1
- package/components/{action-button-G0PWSrZo.cjs → action-button-BC6ge1lw.cjs} +2 -2
- package/components/{action-button-B4_UEJle.js → action-button-C3WrvQsA.js} +25 -9
- package/components/action-menu/index.cjs +1 -1
- package/components/action-menu/index.js +1 -1
- package/components/{action-menu-FiS1vhW7.js → action-menu-CaajKKHk.js} +1 -1
- package/components/{action-menu-CJyB0mmO.cjs → action-menu-CgFPl0Zu.cjs} +1 -1
- package/components/calendar/index.cjs +1 -1
- package/components/calendar/index.js +1 -1
- package/components/{calendar-CKr5T_zV.js → calendar-B5U3adT2.js} +1 -1
- package/components/{calendar-WRhzTEyZ.cjs → calendar-FhfWdLWQ.cjs} +1 -1
- package/components/date-range-picker/index.cjs +1 -1
- package/components/date-range-picker/index.js +1 -1
- package/components/{date-range-picker-BdRQep--.js → date-range-picker-DGYJGNOJ.js} +1 -1
- package/components/{date-range-picker-CgitOe0i.cjs → date-range-picker-DxNaTwB8.cjs} +1 -1
- package/components/date-time-picker/index.cjs +1 -1
- package/components/date-time-picker/index.js +1 -1
- package/components/{date-time-picker-Ct_ln8Ot.js → date-time-picker-4UQKUpOX.js} +1 -1
- package/components/{date-time-picker-Bz8XwSOR.cjs → date-time-picker-CRCmK3Lj.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +11 -12
- package/components/prompt-box/index.cjs +1 -1
- package/components/prompt-box/index.js +1 -1
- package/components/prompt-box/prompt-box.d.ts +6 -0
- package/components/{prompt-box-BEloQP-R.js → prompt-box-CiALHARZ.js} +120 -93
- package/components/{prompt-box-DV8Smf3Q.cjs → prompt-box-DPhB43h3.cjs} +22 -5
- package/components/switch/index.cjs +1 -1
- package/components/switch/index.js +1 -1
- package/components/tabs/index.cjs +1 -1
- package/components/tabs/index.js +1 -1
- package/components/{tabs-BfTgzdid.cjs → tabs-CIQWFphJ.cjs} +1 -1
- package/components/{tabs-BthdwrmW.js → tabs-DwFeTkYN.js} +2 -2
- package/components/toast/index.cjs +1 -1
- package/components/toast/index.js +1 -1
- package/components/top-nav/index.cjs +1 -1
- package/components/top-nav/index.js +1 -1
- package/components/{top-nav-DVQ5ASMa.js → top-nav-CMVB3G_v.js} +1 -1
- package/components/{top-nav-DlTojz8S.cjs → top-nav-bekRXHUk.cjs} +1 -1
- package/custom-elements.json +1 -1
- package/index.d.ts +0 -1
- package/package.json +2 -8
- package/components/suggestion/index.cjs +0 -18
- package/components/suggestion/index.d.ts +0 -8
- package/components/suggestion/index.js +0 -25
- package/components/suggestion/suggestion.d.ts +0 -45
- package/components/suggestion-CEJiW_7y.cjs +0 -23
- package/components/suggestion-DK5gxxDI.js +0 -76
- /package/components/{scaled-indicator-BcO2BOsf.js → scaled-indicator-BoLeYSgL.js} +0 -0
- /package/components/{scaled-indicator-p8-3k2cJ.cjs → scaled-indicator-DF45Sc3W.cjs} +0 -0
- /package/components/{switch-BdE-hI69.js → switch-C5g5t5x2.js} +0 -0
- /package/components/{switch-KzkrF-ob.cjs → switch-COhz9ka9.cjs} +0 -0
- /package/components/{toast-DKwphMrp.js → toast-BoPYq3c-.js} +0 -0
- /package/components/{toast-CJSQUzoW.cjs → toast-DL40wb8G.cjs} +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import { n as e, t } from "./decorate-aGxJUVxg.js";
|
|
19
19
|
import { n } from "./sized-mixin-DaBoZkVS.js";
|
|
20
20
|
import "./icon-CwBAE1eU.js";
|
|
21
|
-
import "./action-button-
|
|
21
|
+
import "./action-button-C3WrvQsA.js";
|
|
22
22
|
import { m as r } from "./overlay-8tN0KPbR.js";
|
|
23
23
|
import "./overlay-CwR_36OV.js";
|
|
24
24
|
import "./button-CRNRP8P0.js";
|
|
@@ -27,9 +27,9 @@ import "./tags-B89eYzsB.js";
|
|
|
27
27
|
import { t as i } from "./voice-recorder-477xPHRU.js";
|
|
28
28
|
import { html as a, nothing as o, unsafeCSS as s } from "lit";
|
|
29
29
|
import { property as c, query as l, state as u } from "lit/decorators.js";
|
|
30
|
-
import { luzmoArrowEnter as d, luzmoArrowUp as f, luzmoCheck as p, luzmoClear as m, luzmoMicrophone as h } from "@luzmo/icons";
|
|
30
|
+
import { luzmoArrowEnter as d, luzmoArrowUp as f, luzmoCheck as p, luzmoClear as m, luzmoMicrophone as h, luzmoStop as ee } from "@luzmo/icons";
|
|
31
31
|
//#region src/components/prompt-box/controllers/attachments-controller.ts
|
|
32
|
-
var
|
|
32
|
+
var te = class {
|
|
33
33
|
constructor(e) {
|
|
34
34
|
this._attachments = [], this._idCounter = 0, this._host = e, e.addController(this);
|
|
35
35
|
}
|
|
@@ -118,7 +118,7 @@ var g = class {
|
|
|
118
118
|
detail: { attachments: this._attachments }
|
|
119
119
|
}));
|
|
120
120
|
}
|
|
121
|
-
},
|
|
121
|
+
}, g = class {
|
|
122
122
|
constructor(e) {
|
|
123
123
|
this._voiceRecorder = null, this.isRecording = !1, this.duration = 0, this.audioLevel = 0, this.shouldFocusFinishButton = !1, this._host = e, e.addController(this);
|
|
124
124
|
}
|
|
@@ -211,7 +211,7 @@ function y(e, t, n, r) {
|
|
|
211
211
|
distSq: s
|
|
212
212
|
};
|
|
213
213
|
}
|
|
214
|
-
function
|
|
214
|
+
function b(e, t, n, r) {
|
|
215
215
|
let i = null, a = Infinity;
|
|
216
216
|
for (let [o, s] of e.childNodes.entries()) if (s !== r) {
|
|
217
217
|
if (s.nodeType === Node.TEXT_NODE) {
|
|
@@ -232,7 +232,7 @@ function te(e, t, n, r) {
|
|
|
232
232
|
}
|
|
233
233
|
return i;
|
|
234
234
|
}
|
|
235
|
-
function
|
|
235
|
+
function x(e, t, n, r, i) {
|
|
236
236
|
if (Number.isNaN(n) || Number.isNaN(r)) return null;
|
|
237
237
|
let a = null, o = e;
|
|
238
238
|
if (o?.caretPositionFromPoint) {
|
|
@@ -243,11 +243,11 @@ function b(e, t, n, r, i) {
|
|
|
243
243
|
let e = document.caretPositionFromPoint(n, r);
|
|
244
244
|
e && (a = _(e.offsetNode, e.offset));
|
|
245
245
|
} else "caretRangeFromPoint" in document && (a = document.caretRangeFromPoint(n, r));
|
|
246
|
-
return (!a || !t.contains(a.startContainer)) && (a =
|
|
246
|
+
return (!a || !t.contains(a.startContainer)) && (a = b(t, n, r, i)), a;
|
|
247
247
|
}
|
|
248
248
|
//#endregion
|
|
249
249
|
//#region src/components/prompt-box/selection-utils.ts
|
|
250
|
-
function
|
|
250
|
+
function S(e) {
|
|
251
251
|
if (e) {
|
|
252
252
|
let t = e.getSelection?.();
|
|
253
253
|
if (t && t.rangeCount > 0) return t.getRangeAt(0);
|
|
@@ -266,7 +266,7 @@ function x(e) {
|
|
|
266
266
|
} catch {}
|
|
267
267
|
return null;
|
|
268
268
|
}
|
|
269
|
-
function
|
|
269
|
+
function C(e, t) {
|
|
270
270
|
let n = document.getSelection();
|
|
271
271
|
if (n) try {
|
|
272
272
|
n.setBaseAndExtent(e, t, e, t);
|
|
@@ -275,19 +275,19 @@ function S(e, t) {
|
|
|
275
275
|
r.setStart(e, t), r.collapse(!0), n.removeAllRanges(), n.addRange(r);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
function
|
|
278
|
+
function w(e) {
|
|
279
279
|
return e === " " || e === "\n" || e === "\xA0";
|
|
280
280
|
}
|
|
281
|
-
function
|
|
282
|
-
let t =
|
|
281
|
+
function T(e) {
|
|
282
|
+
let t = S(e);
|
|
283
283
|
if (!t || !t.collapsed) return !1;
|
|
284
284
|
let n = t.startContainer, r = t.startOffset;
|
|
285
285
|
if (n.nodeType === Node.TEXT_NODE) {
|
|
286
|
-
if (r >= 2) return
|
|
286
|
+
if (r >= 2) return w(n.textContent?.charAt(r - 2) ?? "");
|
|
287
287
|
let e = n.previousSibling;
|
|
288
288
|
if (!e || e.nodeType === Node.ELEMENT_NODE && e.classList?.contains("element-badge")) return !0;
|
|
289
289
|
let t = e.textContent ?? "";
|
|
290
|
-
return t.length === 0 ? !0 :
|
|
290
|
+
return t.length === 0 ? !0 : w(t.at(-1) ?? "");
|
|
291
291
|
}
|
|
292
292
|
if (n.nodeType === Node.ELEMENT_NODE) {
|
|
293
293
|
if (r === 0) return !0;
|
|
@@ -295,13 +295,13 @@ function w(e) {
|
|
|
295
295
|
if (!e || e.nodeType === Node.ELEMENT_NODE && e.classList?.contains("element-badge")) return !0;
|
|
296
296
|
if (e.nodeType === Node.TEXT_NODE) {
|
|
297
297
|
let t = e.textContent ?? "";
|
|
298
|
-
return t.length === 0 ? !0 :
|
|
298
|
+
return t.length === 0 ? !0 : w(t.at(-1) ?? "");
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
return !1;
|
|
302
302
|
}
|
|
303
|
-
function
|
|
304
|
-
let n =
|
|
303
|
+
function E(e, t) {
|
|
304
|
+
let n = S(e);
|
|
305
305
|
if (!n) {
|
|
306
306
|
if (!t) return null;
|
|
307
307
|
let e = t.getBoundingClientRect();
|
|
@@ -339,21 +339,21 @@ function T(e, t) {
|
|
|
339
339
|
};
|
|
340
340
|
}
|
|
341
341
|
function ne(e, t) {
|
|
342
|
-
let n =
|
|
342
|
+
let n = S(e);
|
|
343
343
|
if (!n || !n.collapsed) return null;
|
|
344
344
|
let r = n.startContainer, i = n.startOffset;
|
|
345
345
|
if (r.nodeType !== Node.TEXT_NODE) return null;
|
|
346
346
|
let a = (r.textContent ?? "").slice(0, Math.max(0, i)), o = a.lastIndexOf(t);
|
|
347
347
|
return o === -1 ? null : a.slice(Math.max(0, o + 1));
|
|
348
348
|
}
|
|
349
|
-
function
|
|
349
|
+
function D(e, t) {
|
|
350
350
|
if (e.focus(), !t) return;
|
|
351
351
|
let n = e.querySelector(`[data-element-id="${t}"]`);
|
|
352
352
|
if (!n) return;
|
|
353
353
|
let r = n.nextSibling;
|
|
354
354
|
if (r && r.nodeType === Node.TEXT_NODE) {
|
|
355
355
|
let e = r.textContent ?? "", t = e.indexOf(" ");
|
|
356
|
-
|
|
356
|
+
C(r, t === -1 ? e.length : t + 1);
|
|
357
357
|
return;
|
|
358
358
|
}
|
|
359
359
|
let i = document.getSelection();
|
|
@@ -361,14 +361,14 @@ function E(e, t) {
|
|
|
361
361
|
let a = document.createRange();
|
|
362
362
|
a.setStartAfter(n), a.collapse(!0), i.removeAllRanges(), i.addRange(a);
|
|
363
363
|
}
|
|
364
|
-
function
|
|
365
|
-
let i =
|
|
364
|
+
function O(e, t, n, r) {
|
|
365
|
+
let i = S(e);
|
|
366
366
|
if (i) {
|
|
367
367
|
let e = i.startContainer, r = i.startOffset;
|
|
368
368
|
if (e.nodeType === Node.TEXT_NODE && t.contains(e)) {
|
|
369
369
|
let t = e.textContent ?? "", i = t.slice(0, Math.max(0, r)).lastIndexOf(n);
|
|
370
370
|
if (i !== -1) {
|
|
371
|
-
e.textContent = t.slice(0, Math.max(0, i)) + t.slice(Math.max(0, r)),
|
|
371
|
+
e.textContent = t.slice(0, Math.max(0, i)) + t.slice(Math.max(0, r)), C(e, i);
|
|
372
372
|
return;
|
|
373
373
|
}
|
|
374
374
|
}
|
|
@@ -377,14 +377,14 @@ function re(e, t, n, r) {
|
|
|
377
377
|
for (; s = o.nextNode();) {
|
|
378
378
|
let e = s.textContent ?? "", n = e.lastIndexOf(a);
|
|
379
379
|
if (n !== -1) {
|
|
380
|
-
s.textContent = e.slice(0, Math.max(0, n)) + e.slice(Math.max(0, n + a.length)), t.focus(),
|
|
380
|
+
s.textContent = e.slice(0, Math.max(0, n)) + e.slice(Math.max(0, n + a.length)), t.focus(), C(s, n);
|
|
381
381
|
return;
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
//#endregion
|
|
386
386
|
//#region src/components/prompt-box/types.ts
|
|
387
|
-
var
|
|
387
|
+
var k = "application/x-luzmo-element", A = class {
|
|
388
388
|
constructor(e) {
|
|
389
389
|
this._elements = /* @__PURE__ */ new Map(), this._idCounter = 0, this._dragCaret = null, this.isDragOver = !1, this.richInputElement = null, this.handleRichInput = () => {
|
|
390
390
|
this.syncValue(), this._host.dispatchEvent(new Event("input", {
|
|
@@ -399,7 +399,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
399
399
|
}
|
|
400
400
|
let t = e.clipboardData?.getData("text/plain") ?? "";
|
|
401
401
|
if (t) {
|
|
402
|
-
let e =
|
|
402
|
+
let e = S(this._host.shadowRoot);
|
|
403
403
|
if (e) {
|
|
404
404
|
e.deleteContents(), e.insertNode(document.createTextNode(t)), e.collapse(!1);
|
|
405
405
|
let n = document.getSelection();
|
|
@@ -420,7 +420,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
420
420
|
this._host.requestUpdate();
|
|
421
421
|
return;
|
|
422
422
|
}
|
|
423
|
-
let t = e.dataTransfer?.getData(
|
|
423
|
+
let t = e.dataTransfer?.getData(k);
|
|
424
424
|
if (!t) {
|
|
425
425
|
this._host.requestUpdate();
|
|
426
426
|
return;
|
|
@@ -429,7 +429,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
429
429
|
let n = JSON.parse(t);
|
|
430
430
|
if (n.elementType && n.label) {
|
|
431
431
|
this.richInputElement?.focus();
|
|
432
|
-
let t = this.richInputElement ?
|
|
432
|
+
let t = this.richInputElement ? x(this._host.shadowRoot, this.richInputElement, e.clientX, e.clientY, this._dragCaret) : null;
|
|
433
433
|
this._insertElementAtRange(n.elementType, n.label, n.data ?? null, void 0, t);
|
|
434
434
|
}
|
|
435
435
|
this._host.requestUpdate();
|
|
@@ -490,16 +490,16 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
490
490
|
let t = e.previousSibling;
|
|
491
491
|
t?.classList?.contains("element-badge") && this._ensureSpaceAfter(t);
|
|
492
492
|
}
|
|
493
|
-
this._ensureSpaceAfter(s),
|
|
493
|
+
this._ensureSpaceAfter(s), D(c, a), l = !0;
|
|
494
494
|
}
|
|
495
|
-
return l || (c.append(s), this._ensureSpaceAfter(s),
|
|
495
|
+
return l || (c.append(s), this._ensureSpaceAfter(s), D(c, a)), this.syncValue(), this._host.dispatchEvent(new CustomEvent("luzmo-element-inserted", {
|
|
496
496
|
bubbles: !0,
|
|
497
497
|
composed: !0,
|
|
498
498
|
detail: { element: o }
|
|
499
499
|
})), a;
|
|
500
500
|
}
|
|
501
501
|
_getSelectionRange() {
|
|
502
|
-
return
|
|
502
|
+
return S(this._host.shadowRoot);
|
|
503
503
|
}
|
|
504
504
|
removeElement(e) {
|
|
505
505
|
let t = this._elements.get(e);
|
|
@@ -527,7 +527,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
527
527
|
this._elements.clear(), this.richInputElement && (this.richInputElement.innerHTML = "");
|
|
528
528
|
}
|
|
529
529
|
handleBadgeDelete(e) {
|
|
530
|
-
let t =
|
|
530
|
+
let t = S(this._host.shadowRoot);
|
|
531
531
|
if (!t || !t.collapsed) return !1;
|
|
532
532
|
let n = e === "Backspace" ? this._findBadgeBefore(t.startContainer, t.startOffset) : e === "Delete" ? this._findBadgeAfter(t.startContainer, t.startOffset) : null;
|
|
533
533
|
return n?.dataset.elementId ? (this.removeElement(n.dataset.elementId), !0) : !1;
|
|
@@ -650,7 +650,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
650
650
|
this._hideDragCaret();
|
|
651
651
|
return;
|
|
652
652
|
}
|
|
653
|
-
let n =
|
|
653
|
+
let n = x(this._host.shadowRoot, this.richInputElement, e, t, this._dragCaret);
|
|
654
654
|
if (!n) {
|
|
655
655
|
this._hideDragCaret();
|
|
656
656
|
return;
|
|
@@ -672,13 +672,13 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
672
672
|
}
|
|
673
673
|
_positionCaretAtPoint(e, t) {
|
|
674
674
|
if (!this.richInputElement) return;
|
|
675
|
-
let n =
|
|
675
|
+
let n = x(this._host.shadowRoot, this.richInputElement, e, t, this._dragCaret);
|
|
676
676
|
if (n) {
|
|
677
677
|
let e = document.getSelection();
|
|
678
678
|
e && (e.removeAllRanges(), e.addRange(n));
|
|
679
679
|
}
|
|
680
680
|
}
|
|
681
|
-
},
|
|
681
|
+
}, j = class {
|
|
682
682
|
constructor(e) {
|
|
683
683
|
this._triggers = [], this.activeTrigger = null, this.searchString = "", this.virtualElement = null, this.highlightedIndex = 0, this.pointerMovedSinceKeyNav = !0, this.hoveredIndex = -1, this.filteredOptions = [], this.richInputElement = null, this.handleOverlayClosed = () => {
|
|
684
684
|
this.close();
|
|
@@ -733,7 +733,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
733
733
|
}
|
|
734
734
|
open(e) {
|
|
735
735
|
if (!this._triggers.find((t) => t.key === e)) return;
|
|
736
|
-
let t =
|
|
736
|
+
let t = E(this._host.shadowRoot, this.richInputElement);
|
|
737
737
|
if (!t) return;
|
|
738
738
|
this.activeTrigger = e, this.searchString = "", this._updateFilteredOptions(), this.highlightedIndex = this._findSelectableIndex(0, 1);
|
|
739
739
|
let n = this.richInputElement?.getBoundingClientRect().top ?? t.y;
|
|
@@ -761,7 +761,7 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
761
761
|
_detectTrigger(e) {
|
|
762
762
|
if (this._host.disabled || this._host.readonly || this._host.pending) return;
|
|
763
763
|
let t = e?.data ?? "";
|
|
764
|
-
t.length !== 1 || !this._isTriggerKey(t) ||
|
|
764
|
+
t.length !== 1 || !this._isTriggerKey(t) || T(this._host.shadowRoot) && this.open(t);
|
|
765
765
|
}
|
|
766
766
|
_extractTriggerSearchFromContent(e) {
|
|
767
767
|
let t = this.richInputElement?.textContent ?? "";
|
|
@@ -827,11 +827,11 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
827
827
|
selectOption(e) {
|
|
828
828
|
if (!this.activeTrigger || !this.richInputElement) return;
|
|
829
829
|
let t = this.activeTrigger, n = this.richInputElement, r = this._host.shadowRoot;
|
|
830
|
-
|
|
830
|
+
O(r, n, t, this.searchString);
|
|
831
831
|
let i = e.elementType ?? t, a = this._host.insertElement(i, e.label, e.data ?? null, e.icon);
|
|
832
|
-
|
|
832
|
+
D(n, a), this.close(), this._host.updateComplete.then(() => {
|
|
833
833
|
requestAnimationFrame(() => {
|
|
834
|
-
|
|
834
|
+
D(n, a);
|
|
835
835
|
});
|
|
836
836
|
});
|
|
837
837
|
}
|
|
@@ -846,38 +846,38 @@ var D = "application/x-luzmo-element", O = class {
|
|
|
846
846
|
}
|
|
847
847
|
}));
|
|
848
848
|
}
|
|
849
|
-
},
|
|
850
|
-
function M() {
|
|
851
|
-
A = !0;
|
|
852
|
-
}
|
|
853
|
-
function N() {
|
|
854
|
-
A = !1;
|
|
855
|
-
}
|
|
849
|
+
}, M = !1, N = 0;
|
|
856
850
|
function P() {
|
|
857
|
-
|
|
851
|
+
M = !0;
|
|
858
852
|
}
|
|
859
853
|
function F() {
|
|
860
|
-
|
|
854
|
+
M = !1;
|
|
861
855
|
}
|
|
862
856
|
function I() {
|
|
863
|
-
|
|
857
|
+
document.addEventListener("keydown", P, !0), document.addEventListener("mousedown", F, !0), document.addEventListener("pointerdown", F, !0);
|
|
864
858
|
}
|
|
865
859
|
function L() {
|
|
866
|
-
|
|
860
|
+
document.removeEventListener("keydown", P, !0), document.removeEventListener("mousedown", F, !0), document.removeEventListener("pointerdown", F, !0);
|
|
867
861
|
}
|
|
868
862
|
function R() {
|
|
869
|
-
|
|
863
|
+
N === 0 && typeof window < "u" && I(), N++;
|
|
864
|
+
}
|
|
865
|
+
function z() {
|
|
866
|
+
N--, N <= 0 && (N = 0, L());
|
|
867
|
+
}
|
|
868
|
+
function B() {
|
|
869
|
+
return M;
|
|
870
870
|
}
|
|
871
871
|
//#endregion
|
|
872
872
|
//#region src/components/prompt-box/prompt-box-templates.ts
|
|
873
|
-
function
|
|
873
|
+
function V(e, t, n) {
|
|
874
874
|
return a`
|
|
875
875
|
<div class="top-actions ${t ? "" : "empty"}" part="top-actions">
|
|
876
876
|
<slot name="top-actions" @slotchange=${n}></slot>
|
|
877
877
|
</div>
|
|
878
878
|
`;
|
|
879
879
|
}
|
|
880
|
-
function
|
|
880
|
+
function H(e, t, n) {
|
|
881
881
|
return a`
|
|
882
882
|
<div
|
|
883
883
|
class="bottom-actions ${t ? "" : "empty"}"
|
|
@@ -887,7 +887,7 @@ function B(e, t, n) {
|
|
|
887
887
|
</div>
|
|
888
888
|
`;
|
|
889
889
|
}
|
|
890
|
-
function
|
|
890
|
+
function U(e) {
|
|
891
891
|
let t = [];
|
|
892
892
|
for (let n = 0; n < 5; n++) {
|
|
893
893
|
let r = 1 - Math.abs(n - 2) * .15, i = .3 + e.recordingController.audioLevel * .7 * r, o = Math.max(.2, Math.min(1, i));
|
|
@@ -899,7 +899,7 @@ function V(e) {
|
|
|
899
899
|
<div class="waveform" part="waveform" aria-hidden="true">${t}</div>
|
|
900
900
|
`;
|
|
901
901
|
}
|
|
902
|
-
function
|
|
902
|
+
function W(e) {
|
|
903
903
|
let t = e.handleRecordButtonSlotChange, n = e.hasRecordButton, r = e.recordingController.isRecording, i = () => {
|
|
904
904
|
e.recordingController.cancel();
|
|
905
905
|
}, o = (t) => {
|
|
@@ -922,7 +922,7 @@ function H(e) {
|
|
|
922
922
|
.size=${e.size}
|
|
923
923
|
></luzmo-icon>
|
|
924
924
|
</luzmo-action-button>
|
|
925
|
-
${
|
|
925
|
+
${U(e)}
|
|
926
926
|
<span class="recording-duration" part="recording-duration">
|
|
927
927
|
${e.recordingController.formatDuration()}
|
|
928
928
|
</span>
|
|
@@ -959,13 +959,30 @@ function H(e) {
|
|
|
959
959
|
</luzmo-action-button>
|
|
960
960
|
`;
|
|
961
961
|
}
|
|
962
|
-
function
|
|
962
|
+
function re(e) {
|
|
963
963
|
let t = e.handleSubmitButtonSlotChange, n = e.recordingController.isRecording, r = () => {
|
|
964
964
|
e.submit();
|
|
965
|
+
}, i = () => {
|
|
966
|
+
e.handleStopClick();
|
|
965
967
|
};
|
|
966
968
|
if (n || e.hasSubmitButton || e.hideSubmit && !e.hasSubmitButton) return a`<slot name="submit-button" @slotchange=${t}></slot>`;
|
|
967
|
-
let
|
|
968
|
-
return a`
|
|
969
|
+
let o = !!e.value.trim() || e.richInputController.elementCount > 0;
|
|
970
|
+
return e.pending && e.stoppable ? a`
|
|
971
|
+
<slot name="submit-button" @slotchange=${t}></slot>
|
|
972
|
+
<luzmo-button
|
|
973
|
+
class="submit-button stop-button"
|
|
974
|
+
part="submit-button stop-button"
|
|
975
|
+
.size=${e.size}
|
|
976
|
+
icon-only
|
|
977
|
+
variant="primary"
|
|
978
|
+
?disabled=${e.disabled}
|
|
979
|
+
@click=${i}
|
|
980
|
+
aria-label="Stop"
|
|
981
|
+
label="Stop"
|
|
982
|
+
>
|
|
983
|
+
<luzmo-icon slot="icon" .icon=${ee}></luzmo-icon>
|
|
984
|
+
</luzmo-button>
|
|
985
|
+
` : a`
|
|
969
986
|
<slot name="submit-button" @slotchange=${t}></slot>
|
|
970
987
|
<luzmo-button
|
|
971
988
|
class="submit-button"
|
|
@@ -973,21 +990,23 @@ function U(e) {
|
|
|
973
990
|
.size=${e.size}
|
|
974
991
|
icon-only
|
|
975
992
|
variant="primary"
|
|
976
|
-
?disabled=${e.disabled || e.disableSubmit || !e.pending && !
|
|
993
|
+
?disabled=${e.disabled || e.disableSubmit || !e.pending && !o}
|
|
977
994
|
?pending=${e.pending}
|
|
978
995
|
@click=${r}
|
|
996
|
+
aria-label="Submit"
|
|
979
997
|
label="Submit"
|
|
998
|
+
.label=${"Submit"}
|
|
980
999
|
>
|
|
981
1000
|
<luzmo-icon slot="icon" .icon=${f}></luzmo-icon>
|
|
982
1001
|
</luzmo-button>
|
|
983
1002
|
`;
|
|
984
1003
|
}
|
|
985
|
-
function
|
|
1004
|
+
function G(e, t) {
|
|
986
1005
|
if (!t) return e;
|
|
987
1006
|
let n = e.toLowerCase().indexOf(t.toLowerCase());
|
|
988
1007
|
return n === -1 ? e : a`${e.slice(0, n)}<mark class="trigger-option-highlight">${e.slice(n, n + t.length)}</mark>${e.slice(n + t.length)}`;
|
|
989
1008
|
}
|
|
990
|
-
function
|
|
1009
|
+
function K(e, t) {
|
|
991
1010
|
return a`
|
|
992
1011
|
<div
|
|
993
1012
|
class="trigger-option-header"
|
|
@@ -1003,7 +1022,7 @@ function W(e, t) {
|
|
|
1003
1022
|
</div>
|
|
1004
1023
|
`;
|
|
1005
1024
|
}
|
|
1006
|
-
function
|
|
1025
|
+
function q(e, t, n, r, i) {
|
|
1007
1026
|
let s = () => {
|
|
1008
1027
|
e.selectTriggerOption(t);
|
|
1009
1028
|
}, c = () => {
|
|
@@ -1017,7 +1036,7 @@ function G(e, t, n, r, i) {
|
|
|
1017
1036
|
></luzmo-icon>` : o}
|
|
1018
1037
|
<div class="trigger-option-content">
|
|
1019
1038
|
<span class="trigger-option-label"
|
|
1020
|
-
>${i?.highlightSearch && p ?
|
|
1039
|
+
>${i?.highlightSearch && p ? G(t.label, p) : t.label}</span
|
|
1021
1040
|
>
|
|
1022
1041
|
${t.description ? a`<span class="trigger-option-description"
|
|
1023
1042
|
>${t.description}</span
|
|
@@ -1042,9 +1061,9 @@ function G(e, t, n, r, i) {
|
|
|
1042
1061
|
</div>
|
|
1043
1062
|
`;
|
|
1044
1063
|
}
|
|
1045
|
-
function
|
|
1064
|
+
function J(e, t, n, r) {
|
|
1046
1065
|
let i = [];
|
|
1047
|
-
for (let [a, o] of t.entries()) o.header ? i.push(
|
|
1066
|
+
for (let [a, o] of t.entries()) o.header ? i.push(K(o, r)) : i.push(q(e, o, a, n, r));
|
|
1048
1067
|
return a`
|
|
1049
1068
|
<div
|
|
1050
1069
|
class="trigger-options"
|
|
@@ -1056,18 +1075,18 @@ function K(e, t, n, r) {
|
|
|
1056
1075
|
</div>
|
|
1057
1076
|
`;
|
|
1058
1077
|
}
|
|
1059
|
-
function
|
|
1078
|
+
function Y(e) {
|
|
1060
1079
|
return a`<slot name=${e} style="display: none;"></slot>`;
|
|
1061
1080
|
}
|
|
1062
|
-
function
|
|
1081
|
+
function X(e) {
|
|
1063
1082
|
let t = e.triggerMenuController;
|
|
1064
1083
|
if (!t.hasTriggers) {
|
|
1065
1084
|
let e = [];
|
|
1066
|
-
for (let n of t.allSlotNames) e.push(
|
|
1085
|
+
for (let n of t.allSlotNames) e.push(Y(n));
|
|
1067
1086
|
return a`${e}`;
|
|
1068
1087
|
}
|
|
1069
1088
|
let n = t.activeConfig, r = n?.slotName ?? null, i = t.filteredOptions.length > 0, s = t.activeTrigger !== null, c = [];
|
|
1070
|
-
for (let e of t.allSlotNames) e !== r && c.push(
|
|
1089
|
+
for (let e of t.allSlotNames) e !== r && c.push(Y(e));
|
|
1071
1090
|
return a`
|
|
1072
1091
|
<luzmo-overlay
|
|
1073
1092
|
part="trigger-menu-overlay"
|
|
@@ -1080,12 +1099,12 @@ function J(e) {
|
|
|
1080
1099
|
@keydown=${t.handleOverlayKeydown}
|
|
1081
1100
|
>
|
|
1082
1101
|
${s && r ? a`<slot name=${r}></slot>` : o}
|
|
1083
|
-
${s && i ?
|
|
1102
|
+
${s && i ? J(e, t.filteredOptions, t.highlightedIndex, n) : o}
|
|
1084
1103
|
</luzmo-overlay>
|
|
1085
1104
|
${c}
|
|
1086
1105
|
`;
|
|
1087
1106
|
}
|
|
1088
|
-
function
|
|
1107
|
+
function ie(e) {
|
|
1089
1108
|
let t = !e.readonly && !e.pending && !e.disabled, n = e.richInputController;
|
|
1090
1109
|
return a`
|
|
1091
1110
|
<div
|
|
@@ -1108,7 +1127,7 @@ function Y(e) {
|
|
|
1108
1127
|
`;
|
|
1109
1128
|
}
|
|
1110
1129
|
function ae(e) {
|
|
1111
|
-
return e.allowElements ?
|
|
1130
|
+
return e.allowElements ? ie(e) : a`
|
|
1112
1131
|
<luzmo-text-field
|
|
1113
1132
|
class="input-field"
|
|
1114
1133
|
part="input"
|
|
@@ -1215,31 +1234,31 @@ function le(e) {
|
|
|
1215
1234
|
}
|
|
1216
1235
|
//#endregion
|
|
1217
1236
|
//#region src/components/prompt-box/slot-state-sync.ts
|
|
1218
|
-
var
|
|
1219
|
-
function
|
|
1237
|
+
var Z = "luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field";
|
|
1238
|
+
function Q(e) {
|
|
1220
1239
|
let t = [];
|
|
1221
|
-
return e.matches(
|
|
1240
|
+
return e.matches(Z) && t.push(e), t.push(...e.querySelectorAll(Z)), t;
|
|
1222
1241
|
}
|
|
1223
1242
|
function ue(e, t, n) {
|
|
1224
1243
|
if (!e) return;
|
|
1225
1244
|
let r = e.querySelector("slot[name=\"submit-button\"]");
|
|
1226
|
-
for (let e of r?.assignedElements() ?? []) for (let r of
|
|
1245
|
+
for (let e of r?.assignedElements() ?? []) for (let r of Q(e)) n ? (r.setAttribute("pending", ""), r.removeAttribute("disabled"), r.removeAttribute("readonly")) : t ? (r.removeAttribute("pending"), r.setAttribute("disabled", ""), r.removeAttribute("readonly")) : (r.removeAttribute("pending"), r.removeAttribute("disabled"), r.removeAttribute("readonly"));
|
|
1227
1246
|
for (let r of [
|
|
1228
1247
|
"slot[name=\"top-actions\"]",
|
|
1229
1248
|
"slot[name=\"bottom-actions\"]",
|
|
1230
1249
|
"slot[name=\"record-button\"]"
|
|
1231
1250
|
]) {
|
|
1232
1251
|
let i = e.querySelector(r);
|
|
1233
|
-
for (let e of i?.assignedElements() ?? []) for (let r of
|
|
1252
|
+
for (let e of i?.assignedElements() ?? []) for (let r of Q(e)) t || n ? (r.setAttribute("disabled", ""), r.removeAttribute("readonly")) : (r.removeAttribute("disabled"), r.removeAttribute("readonly"));
|
|
1234
1253
|
}
|
|
1235
1254
|
}
|
|
1236
|
-
function
|
|
1255
|
+
function de(e) {
|
|
1237
1256
|
let t = [], n = new Set([
|
|
1238
1257
|
"luzmo-switch",
|
|
1239
1258
|
"luzmo-checkbox",
|
|
1240
1259
|
"luzmo-radio"
|
|
1241
1260
|
]);
|
|
1242
|
-
for (let r of e) for (let e of
|
|
1261
|
+
for (let r of e) for (let e of Q(r)) {
|
|
1243
1262
|
let r = {
|
|
1244
1263
|
element: e,
|
|
1245
1264
|
name: e.getAttribute("name") || e.getAttribute("label") || void 0
|
|
@@ -1252,7 +1271,7 @@ function Q(e) {
|
|
|
1252
1271
|
}
|
|
1253
1272
|
//#endregion
|
|
1254
1273
|
//#region src/components/prompt-box/prompt-box.module.scss?inline
|
|
1255
|
-
var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-font-family));font-size:var(--luzmo-prompt-box-font-size,var(--prompt-box-font-size));line-height:var(--luzmo-prompt-box-line-height,var(--prompt-box-line-height));color:var(--highcontrast-prompt-box-text-color,var(--luzmo-prompt-box-text-color,var(--prompt-box-text-color)));flex-direction:column;width:100%;display:flex}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity,var(--prompt-box-disabled-opacity));pointer-events:none}.container{gap:var(--luzmo-prompt-box-gap,var(--prompt-box-gap));padding:var(--luzmo-prompt-box-vertical-padding,var(--prompt-box-vertical-padding)) var(--luzmo-prompt-box-horizontal-padding,var(--prompt-box-horizontal-padding));background-color:var(--highcontrast-prompt-box-background-color,var(--luzmo-prompt-box-background-color,var(--prompt-box-background-color)));border-radius:var(--luzmo-prompt-box-border-radius,var(--prompt-box-border-radius));border-width:var(--luzmo-prompt-box-border-width,var(--prompt-box-border-width));border-style:solid;border-color:var(--highcontrast-prompt-box-border-color,var(--luzmo-prompt-box-border-color,var(--prompt-box-border-color)));box-shadow:var(--luzmo-prompt-box-shadow,var(--prompt-box-shadow));transition:border-color var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out, box-shadow var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-direction:column;display:flex}.container.input-focused{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)))}.container.drag-over{border-color:var(--luzmo-prompt-box-border-color-drag,var(--luzmo-primary,#0064fa))}:host(:focus-visible) .container,:host(.focus-visible) .container{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)));box-shadow:var(--luzmo-prompt-box-shadow-focus,var(--prompt-box-shadow-focus))}:host(:focus){outline:none}.top-actions{align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap,var(--prompt-box-top-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;display:flex}.top-actions.empty{display:none}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.attachments{gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-direction:column;display:flex}.image-attachments{gap:var(--luzmo-prompt-box-image-attachments-gap,var(--prompt-box-image-attachments-gap,8px));flex-wrap:wrap;display:flex}.image-attachment{width:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));height:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));background-color:var(--luzmo-prompt-box-image-background,var(--prompt-box-image-background,#0000000d));display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.attachment-remove{width:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));height:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));background-color:var(--luzmo-prompt-box-remove-button-background,var(--prompt-box-remove-button-background,#00000080));--luzmo-clear-button-icon-color:var(--luzmo-prompt-box-remove-button-icon-color,var(--prompt-box-remove-button-icon-color,#fff));border-radius:50%;position:absolute;top:4px;right:4px}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover,var(--prompt-box-remove-button-background-hover,#000000b3))}.file-attachments{--luzmo-tag-border-radius:16px;gap:var(--luzmo-prompt-box-file-attachments-gap,var(--prompt-box-file-attachments-gap,4px));flex-wrap:wrap;display:flex}.file-attachment{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.input-wrapper{flex:1;display:flex;position:relative}.input-field{--luzmo-text-field-focus-indicator-width:0;--luzmo-text-field-border-width:0;--luzmo-text-field-width:100%;--luzmo-text-field-min-width:0;--luzmo-text-field-placeholder-text-color-default:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));flex:1;width:100%;min-width:0}.actions-row{justify-content:space-between;align-items:center;gap:var(--luzmo-prompt-box-actions-gap,var(--prompt-box-actions-gap));display:flex}.bottom-actions{align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap,var(--prompt-box-bottom-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;flex:1;display:flex}.button-group{align-items:center;gap:var(--luzmo-prompt-box-button-group-gap,var(--prompt-box-button-group-gap));margin-left:auto;display:flex}.record-button,.cancel-recording-button{--luzmo-action-button-border-radius:var(--luzmo-prompt-box-record-button-border-radius,50%);--luzmo-action-button-focus-indicator-border-radius:var(--luzmo-prompt-box-record-button-focus-indicator-border-radius,50%)}.submit-button{margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start))}.recording-ui{align-items:center;gap:var(--luzmo-prompt-box-recording-gap,var(--prompt-box-recording-gap));display:flex}.waveform{align-items:center;gap:var(--luzmo-prompt-box-waveform-gap,var(--prompt-box-waveform-gap,3px));height:var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px));padding:0 4px;display:flex}.waveform-bar{width:var(--luzmo-prompt-box-waveform-bar-width,var(--prompt-box-waveform-bar-width,3px));height:calc(var(--bar-height,.3) * var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px)));background-color:var(--luzmo-prompt-box-waveform-bar-color,var(--prompt-box-waveform-bar-color,currentColor));border-radius:var(--luzmo-prompt-box-waveform-bar-radius,var(--prompt-box-waveform-bar-radius,2px));min-height:4px;transition:height 50ms ease-out;animation:1s ease-in-out infinite waveform-pulse}.waveform-bar:first-child{animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.1s}.waveform-bar:nth-child(5){animation-delay:0s}@keyframes waveform-pulse{0%,to{opacity:.6}50%{opacity:1}}.recording-duration{font-family:var(--luzmo-prompt-box-recording-duration-font-family,var(--prompt-box-recording-duration-font-family,monospace));font-size:var(--luzmo-prompt-box-recording-duration-font-size,var(--prompt-box-recording-duration-font-size,14px));font-weight:var(--luzmo-prompt-box-recording-duration-font-weight,var(--prompt-box-recording-duration-font-weight,500));color:var(--luzmo-prompt-box-recording-duration-color,var(--prompt-box-recording-duration-color,currentColor));text-align:center}.rich-input{width:100%;min-width:0;min-height:1.5em;max-height:var(--luzmo-prompt-box-max-height,var(--prompt-box-max-height,200px));padding:var(--luzmo-prompt-box-rich-input-padding,var(--prompt-box-rich-input-padding,4px 0));font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;flex:1;overflow-y:auto}.rich-input:empty:before{content:attr(data-placeholder);color:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));pointer-events:none}.rich-input[contenteditable=false]{opacity:.5;cursor:default}.drag-caret{background:var(--luzmo-primary,#0064fa);pointer-events:none;border-radius:1px;width:2px}.element-badge{align-items:center;gap:var(--luzmo-prompt-box-badge-gap,var(--prompt-box-badge-gap,6px));vertical-align:baseline;padding:var(--luzmo-prompt-box-badge-padding,var(--prompt-box-badge-padding,1px 6px));background-color:var(--luzmo-prompt-box-badge-background,var(--prompt-box-badge-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .1)));color:var(--luzmo-prompt-box-badge-color,var(--prompt-box-badge-color,var(--luzmo-primary,#0064fa)));border-radius:var(--luzmo-prompt-box-badge-border-radius,var(--prompt-box-badge-border-radius,4px));font-size:var(--luzmo-prompt-box-badge-font-size,var(--prompt-box-badge-font-size,.9em));font-weight:var(--luzmo-prompt-box-badge-font-weight,var(--prompt-box-badge-font-weight,500));cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:var(--luzmo-prompt-box-badge-max-width,var(--prompt-box-badge-max-width,200px));margin:0 1px;line-height:1.4;display:inline-flex}.element-badge-icon{flex-shrink:0;display:inline-flex}.element-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element-badge-remove{appearance:none;font:inherit;color:inherit;width:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));height:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));font-size:var(--luzmo-prompt-box-badge-remove-font-size,var(--prompt-box-badge-remove-font-size,12px));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:opacity .1s,background-color .1s;display:inline-flex}.element-badge-remove:hover{opacity:1;background-color:var(--luzmo-prompt-box-badge-remove-hover-background,var(--prompt-box-badge-remove-hover-background,#0000001a))}.element-badge-remove:focus-visible{opacity:1;outline:2px solid var(--luzmo-primary,#0064fa);outline-offset:1px}:host([single-line]) .container{align-items:center;gap:var(--luzmo-prompt-box-single-line-gap,var(--prompt-box-single-line-gap));flex-direction:row}:host([single-line]) .top-actions{flex-wrap:nowrap;flex-shrink:0}:host([single-line]) .attachments{max-height:var(--luzmo-prompt-box-single-line-attachments-max-height,var(--prompt-box-single-line-attachments-max-height));flex-direction:row;flex-shrink:0;align-items:center;overflow:hidden}:host([single-line]) .image-attachments{flex-wrap:nowrap}:host([single-line]) .image-attachment{width:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size));height:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size))}:host([single-line]) .file-attachments{flex-wrap:nowrap}:host([single-line]) .input-wrapper{min-width:0}:host([single-line]) .input-field{--luzmo-text-area-min-block-size-quiet:auto;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px}:host([single-line]) .rich-input{min-height:unset;padding:0}:host([single-line]) .actions-row{flex-shrink:0}:host([single-line]) .bottom-actions{flex-wrap:nowrap;flex:0}::slotted([slot=top-actions]),::slotted([slot=bottom-actions]){align-items:center;display:inline-flex}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start));display:inline-flex}luzmo-overlay[part=trigger-menu-overlay]{--luzmo-overlay-min-width:0}.trigger-options{min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-width:var(--luzmo-prompt-box-trigger-menu-max-width,var(--prompt-box-trigger-menu-max-width,400px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));flex-direction:column;display:flex;overflow-y:auto}.trigger-options::-webkit-scrollbar{width:var(--luzmo-prompt-box-trigger-menu-scrollbar-width,var(--prompt-box-trigger-menu-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-border-radius,var(--prompt-box-trigger-menu-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-border-radius,var(--prompt-box-trigger-menu-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-hover-background,var(--prompt-box-trigger-menu-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background)) var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));background-color:var(--luzmo-prompt-box-trigger-menu-background,var(--prompt-box-trigger-menu-background,var(--luzmo-background-color,#fff)));border:1px solid var(--luzmo-prompt-box-trigger-menu-border-color,var(--prompt-box-trigger-menu-border-color,var(--luzmo-border-color,#0000001a)));border-radius:var(--luzmo-prompt-box-trigger-menu-border-radius,var(--prompt-box-trigger-menu-border-radius,var(--luzmo-border-radius-100,8px)));box-shadow:0 2px 8px var(--luzmo-prompt-box-trigger-menu-shadow-color,var(--prompt-box-trigger-menu-shadow-color,#0000001f))}.trigger-option{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-gap,var(--prompt-box-trigger-option-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-padding-block,var(--prompt-box-trigger-option-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-padding-inline,var(--prompt-box-trigger-option-padding-inline,10px));cursor:pointer;box-sizing:border-box;scroll-margin-block:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));transition:background-color .1s;display:flex}.trigger-option.has-description{padding-block:var(--luzmo-prompt-box-trigger-option-description-padding-block,var(--prompt-box-trigger-option-description-padding-block,4px));min-block-size:auto}.trigger-option.hovered,.trigger-option.highlighted{background-color:var(--luzmo-prompt-box-trigger-option-background-hover,var(--prompt-box-trigger-option-background-hover,var(--luzmo-background-color-hover,#0000000f)))}.trigger-option-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-icon-color,var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit)));font-size:var(--luzmo-prompt-box-trigger-option-icon-size,var(--prompt-box-trigger-option-icon-size,var(--luzmo-font-size,14px)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.trigger-option-label{font-size:var(--luzmo-prompt-box-trigger-option-font-size,var(--prompt-box-trigger-option-font-size,var(--luzmo-font-size,14px)));line-height:var(--luzmo-prompt-box-trigger-option-line-height,var(--prompt-box-trigger-option-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-color,var(--prompt-box-trigger-option-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-description{font-size:var(--luzmo-prompt-box-trigger-option-description-font-size,var(--prompt-box-trigger-option-description-font-size,var(--luzmo-font-size-xs,12px)));line-height:var(--luzmo-prompt-box-trigger-option-description-line-height,var(--prompt-box-trigger-option-description-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-description-color,var(--prompt-box-trigger-option-description-color,var(--luzmo-font-color,#6e6e6e)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-enter-icon{color:var(--luzmo-prompt-box-trigger-option-enter-icon-color,var(--prompt-box-trigger-option-enter-icon-color,var(--luzmo-font-color-dimmed,#0006)));flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.trigger-option-highlight{background-color:var(--luzmo-prompt-box-trigger-option-highlight-background,var(--prompt-box-trigger-option-highlight-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .12)));color:inherit;border-radius:2px;padding:0 1px}.trigger-option-header{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-header-gap,var(--prompt-box-trigger-option-header-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-header-padding-block,var(--prompt-box-trigger-option-header-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-header-padding-inline,var(--prompt-box-trigger-option-header-padding-inline,10px));background-color:var(--luzmo-prompt-box-trigger-option-header-background,var(--prompt-box-trigger-option-header-background));border-block-start:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));border-block-end:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex}.trigger-options>.trigger-option-header:first-child{border-block-start:none}.trigger-option-header-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-header-icon-color,var(--prompt-box-trigger-option-header-icon-color,var(--luzmo-font-color,#333)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-header-label{font-size:var(--luzmo-prompt-box-trigger-option-header-font-size,var(--prompt-box-trigger-option-header-font-size,var(--luzmo-font-size,14px)));font-weight:var(--luzmo-prompt-box-trigger-option-header-font-weight,var(--prompt-box-trigger-option-header-font-weight,normal));line-height:var(--luzmo-prompt-box-trigger-option-header-line-height,var(--prompt-box-trigger-option-header-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-header-color,var(--prompt-box-trigger-option-header-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}luzmo-overlay[part=trigger-menu-overlay] ::slotted(*){min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));overflow-y:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important}@media (forced-colors:active){:host{--highcontrast-prompt-box-background-color:Canvas;--highcontrast-prompt-box-border-color:CanvasText;--highcontrast-prompt-box-border-color-focus:Highlight;--highcontrast-prompt-box-text-color:CanvasText}}:host{--prompt-box-font-family:var(--luzmo-font-family);--prompt-box-font-size:var(--luzmo-font-size);--prompt-box-line-height:1.5;--prompt-box-text-color:var(--luzmo-font-color);--prompt-box-background-color:var(--luzmo-background-color);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-border-width:var(--luzmo-border-width);--prompt-box-border-color:var(--luzmo-border-color);--prompt-box-border-color-focus:var(--luzmo-primary);--prompt-box-shadow:0 2px 8px rgba(var(--luzmo-border-color-rgb), .08);--prompt-box-shadow-focus:0 2px 12px rgba(var(--luzmo-primary-rgb), .15);--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-vertical-padding:var(--luzmo-spacing-4);--prompt-box-horizontal-padding:var(--luzmo-spacing-5);--prompt-box-actions-gap:var(--luzmo-spacing-3);--prompt-box-top-actions-gap:var(--luzmo-spacing-2);--prompt-box-bottom-actions-gap:var(--luzmo-spacing-2);--prompt-box-button-group-gap:var(--luzmo-spacing-2);--prompt-box-submit-button-margin-inline-start:var(--luzmo-spacing-3);--prompt-box-max-height:200px;--prompt-box-rich-input-padding:4px 0;--prompt-box-placeholder-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-animation-duration:var(--luzmo-animation-duration,.15s);--prompt-box-disabled-opacity:.5;--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:var(--luzmo-spacing-2);--prompt-box-file-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-preview-size:64px;--prompt-box-image-border-radius:var(--luzmo-border-radius);--prompt-box-image-background:#0000000d;--prompt-box-remove-button-size:20px;--prompt-box-remove-button-background:#00000080;--prompt-box-remove-button-background-hover:#000000b3;--prompt-box-remove-button-icon-color:#fff;--prompt-box-badge-gap:6px;--prompt-box-badge-padding:1px 6px;--prompt-box-badge-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .1);--prompt-box-badge-color:var(--luzmo-primary,#0064fa);--prompt-box-badge-border-radius:4px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-font-weight:500;--prompt-box-badge-max-width:200px;--prompt-box-badge-remove-size:14px;--prompt-box-badge-remove-font-size:12px;--prompt-box-badge-remove-hover-background:#0000001a;--prompt-box-waveform-gap:3px;--prompt-box-waveform-height:24px;--prompt-box-waveform-bar-width:3px;--prompt-box-waveform-bar-color:currentColor;--prompt-box-waveform-bar-radius:2px;--prompt-box-recording-duration-font-family:monospace;--prompt-box-recording-duration-font-size:14px;--prompt-box-recording-duration-font-weight:500;--prompt-box-recording-duration-color:currentColor;--prompt-box-trigger-menu-min-width:250px;--prompt-box-trigger-menu-max-width:300px;--prompt-box-trigger-menu-max-height:300px;--prompt-box-trigger-menu-background:var(--luzmo-background-color,#fff);--prompt-box-trigger-menu-border-color:var(--luzmo-border-color,#0000001a);--prompt-box-trigger-menu-border-radius:var(--luzmo-border-radius-100,8px);--prompt-box-trigger-menu-shadow-color:#0000001f;--prompt-box-trigger-menu-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-trigger-menu-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-trigger-menu-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-trigger-menu-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--prompt-box-single-line-gap:var(--luzmo-spacing-3);--prompt-box-single-line-attachments-max-height:32px;--prompt-box-single-line-image-size:28px;--prompt-box-trigger-option-gap:10px;--prompt-box-trigger-option-min-height:var(--luzmo-component-height,32px);--prompt-box-trigger-option-padding-block:4px;--prompt-box-trigger-option-padding-inline:10px;--prompt-box-trigger-option-description-padding-block:4px;--prompt-box-trigger-option-background-hover:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-icon-color:var(--luzmo-font-color,inherit);--prompt-box-trigger-option-icon-width:20px;--prompt-box-trigger-option-icon-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-description-font-size:var(--luzmo-font-size-xs,12px);--prompt-box-trigger-option-description-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-description-color:var(--luzmo-font-color,#6e6e6e);--prompt-box-trigger-option-enter-icon-color:var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit));--prompt-box-trigger-option-highlight-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .12);--prompt-box-trigger-option-header-gap:10px;--prompt-box-trigger-option-header-padding-block:4px;--prompt-box-trigger-option-header-padding-inline:10px;--prompt-box-trigger-option-header-background:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-header-border-color:var(--luzmo-border-color,#0000001f);--prompt-box-trigger-option-header-icon-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-header-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-header-font-weight:normal;--prompt-box-trigger-option-header-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-header-color:var(--luzmo-font-color,#333)}:host([size=xs]){--prompt-box-font-size:var(--luzmo-font-size-xs);--prompt-box-border-radius:var(--luzmo-border-radius);--prompt-box-vertical-padding:var(--luzmo-spacing-2);--prompt-box-horizontal-padding:var(--luzmo-spacing-3);--prompt-box-gap:var(--luzmo-spacing-3);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:var(--luzmo-spacing-3);--prompt-box-max-height:120px;--prompt-box-image-preview-size:40px;--prompt-box-remove-button-size:16px;--prompt-box-badge-font-size:.8em;--prompt-box-badge-padding:0px 3px;--prompt-box-badge-remove-size:10px;--prompt-box-badge-remove-font-size:9px}:host([size=s]){--prompt-box-font-size:var(--luzmo-font-size-s);--prompt-box-border-radius:var(--luzmo-border-radius-l);--prompt-box-vertical-padding:var(--luzmo-spacing-3);--prompt-box-horizontal-padding:var(--luzmo-spacing-4);--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-max-height:150px;--prompt-box-image-preview-size:48px;--prompt-box-remove-button-size:18px;--prompt-box-badge-font-size:.85em;--prompt-box-badge-padding:0px 4px;--prompt-box-badge-remove-size:12px;--prompt-box-badge-remove-font-size:10px}:host([size=l]){--prompt-box-font-size:var(--luzmo-font-size-l);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:var(--luzmo-spacing-5);--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--prompt-box-recording-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--prompt-box-max-height:250px;--prompt-box-image-preview-size:72px;--prompt-box-remove-button-size:24px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 8px;--prompt-box-badge-remove-size:16px;--prompt-box-badge-remove-font-size:13px}:host([size=xl]){--prompt-box-font-size:var(--luzmo-font-size-xl);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-attachments-gap:var(--luzmo-spacing-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-remove-button-size:28px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 10px;--prompt-box-badge-remove-size:18px;--prompt-box-badge-remove-font-size:14px}:host([pending]){--prompt-box-actions-opacity:.75}", $ = class extends n(e, {
|
|
1274
|
+
var fe = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-font-family));font-size:var(--luzmo-prompt-box-font-size,var(--prompt-box-font-size));line-height:var(--luzmo-prompt-box-line-height,var(--prompt-box-line-height));color:var(--highcontrast-prompt-box-text-color,var(--luzmo-prompt-box-text-color,var(--prompt-box-text-color)));flex-direction:column;width:100%;display:flex}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity,var(--prompt-box-disabled-opacity));pointer-events:none}.container{gap:var(--luzmo-prompt-box-gap,var(--prompt-box-gap));padding:var(--luzmo-prompt-box-vertical-padding,var(--prompt-box-vertical-padding)) var(--luzmo-prompt-box-horizontal-padding,var(--prompt-box-horizontal-padding));background-color:var(--highcontrast-prompt-box-background-color,var(--luzmo-prompt-box-background-color,var(--prompt-box-background-color)));border-radius:var(--luzmo-prompt-box-border-radius,var(--prompt-box-border-radius));border-width:var(--luzmo-prompt-box-border-width,var(--prompt-box-border-width));border-style:solid;border-color:var(--highcontrast-prompt-box-border-color,var(--luzmo-prompt-box-border-color,var(--prompt-box-border-color)));box-shadow:var(--luzmo-prompt-box-shadow,var(--prompt-box-shadow));transition:border-color var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out, box-shadow var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-direction:column;display:flex}.container.input-focused{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)))}.container.drag-over{border-color:var(--luzmo-prompt-box-border-color-drag,var(--luzmo-primary,#0064fa))}:host(:focus-visible) .container,:host(.focus-visible) .container{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)));box-shadow:var(--luzmo-prompt-box-shadow-focus,var(--prompt-box-shadow-focus))}:host(:focus){outline:none}.top-actions{align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap,var(--prompt-box-top-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;display:flex}.top-actions.empty{display:none}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.attachments{gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-direction:column;display:flex}.image-attachments{gap:var(--luzmo-prompt-box-image-attachments-gap,var(--prompt-box-image-attachments-gap,8px));flex-wrap:wrap;display:flex}.image-attachment{width:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));height:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));background-color:var(--luzmo-prompt-box-image-background,var(--prompt-box-image-background,#0000000d));display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.attachment-remove{width:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));height:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));background-color:var(--luzmo-prompt-box-remove-button-background,var(--prompt-box-remove-button-background,#00000080));--luzmo-clear-button-icon-color:var(--luzmo-prompt-box-remove-button-icon-color,var(--prompt-box-remove-button-icon-color,#fff));border-radius:50%;position:absolute;top:4px;right:4px}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover,var(--prompt-box-remove-button-background-hover,#000000b3))}.file-attachments{--luzmo-tag-border-radius:16px;gap:var(--luzmo-prompt-box-file-attachments-gap,var(--prompt-box-file-attachments-gap,4px));flex-wrap:wrap;display:flex}.file-attachment{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.input-wrapper{flex:1;display:flex;position:relative}.input-field{--luzmo-text-field-focus-indicator-width:0;--luzmo-text-field-border-width:0;--luzmo-text-field-width:100%;--luzmo-text-field-min-width:0;--luzmo-text-field-placeholder-text-color-default:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));flex:1;width:100%;min-width:0}.actions-row{justify-content:space-between;align-items:center;gap:var(--luzmo-prompt-box-actions-gap,var(--prompt-box-actions-gap));display:flex}.bottom-actions{align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap,var(--prompt-box-bottom-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;flex:1;display:flex}.button-group{align-items:center;gap:var(--luzmo-prompt-box-button-group-gap,var(--prompt-box-button-group-gap));margin-left:auto;display:flex}.record-button,.cancel-recording-button{--luzmo-action-button-border-radius:var(--luzmo-prompt-box-record-button-border-radius,50%);--luzmo-action-button-focus-indicator-border-radius:var(--luzmo-prompt-box-record-button-focus-indicator-border-radius,50%)}.submit-button{margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start))}.recording-ui{align-items:center;gap:var(--luzmo-prompt-box-recording-gap,var(--prompt-box-recording-gap));display:flex}.waveform{align-items:center;gap:var(--luzmo-prompt-box-waveform-gap,var(--prompt-box-waveform-gap,3px));height:var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px));padding:0 4px;display:flex}.waveform-bar{width:var(--luzmo-prompt-box-waveform-bar-width,var(--prompt-box-waveform-bar-width,3px));height:calc(var(--bar-height,.3) * var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px)));background-color:var(--luzmo-prompt-box-waveform-bar-color,var(--prompt-box-waveform-bar-color,currentColor));border-radius:var(--luzmo-prompt-box-waveform-bar-radius,var(--prompt-box-waveform-bar-radius,2px));min-height:4px;transition:height 50ms ease-out;animation:1s ease-in-out infinite waveform-pulse}.waveform-bar:first-child{animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.1s}.waveform-bar:nth-child(5){animation-delay:0s}@keyframes waveform-pulse{0%,to{opacity:.6}50%{opacity:1}}.recording-duration{font-family:var(--luzmo-prompt-box-recording-duration-font-family,var(--prompt-box-recording-duration-font-family,monospace));font-size:var(--luzmo-prompt-box-recording-duration-font-size,var(--prompt-box-recording-duration-font-size,14px));font-weight:var(--luzmo-prompt-box-recording-duration-font-weight,var(--prompt-box-recording-duration-font-weight,500));color:var(--luzmo-prompt-box-recording-duration-color,var(--prompt-box-recording-duration-color,currentColor));text-align:center}.rich-input{width:100%;min-width:0;min-height:1.5em;max-height:var(--luzmo-prompt-box-max-height,var(--prompt-box-max-height,200px));padding:var(--luzmo-prompt-box-rich-input-padding,var(--prompt-box-rich-input-padding,4px 0));font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;flex:1;overflow-y:auto}.rich-input:empty:before{content:attr(data-placeholder);color:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));pointer-events:none}.rich-input[contenteditable=false]{opacity:.5;cursor:default}.drag-caret{background:var(--luzmo-primary,#0064fa);pointer-events:none;border-radius:1px;width:2px}.element-badge{align-items:center;gap:var(--luzmo-prompt-box-badge-gap,var(--prompt-box-badge-gap,6px));vertical-align:baseline;padding:var(--luzmo-prompt-box-badge-padding,var(--prompt-box-badge-padding,1px 6px));background-color:var(--luzmo-prompt-box-badge-background,var(--prompt-box-badge-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .1)));color:var(--luzmo-prompt-box-badge-color,var(--prompt-box-badge-color,var(--luzmo-primary,#0064fa)));border-radius:var(--luzmo-prompt-box-badge-border-radius,var(--prompt-box-badge-border-radius,4px));font-size:var(--luzmo-prompt-box-badge-font-size,var(--prompt-box-badge-font-size,.9em));font-weight:var(--luzmo-prompt-box-badge-font-weight,var(--prompt-box-badge-font-weight,500));cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:var(--luzmo-prompt-box-badge-max-width,var(--prompt-box-badge-max-width,200px));margin:0 1px;line-height:1.4;display:inline-flex}.element-badge-icon{flex-shrink:0;display:inline-flex}.element-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element-badge-remove{appearance:none;font:inherit;color:inherit;width:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));height:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));font-size:var(--luzmo-prompt-box-badge-remove-font-size,var(--prompt-box-badge-remove-font-size,12px));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:opacity .1s,background-color .1s;display:inline-flex}.element-badge-remove:hover{opacity:1;background-color:var(--luzmo-prompt-box-badge-remove-hover-background,var(--prompt-box-badge-remove-hover-background,#0000001a))}.element-badge-remove:focus-visible{opacity:1;outline:2px solid var(--luzmo-primary,#0064fa);outline-offset:1px}:host([single-line]) .container{align-items:center;gap:var(--luzmo-prompt-box-single-line-gap,var(--prompt-box-single-line-gap));flex-direction:row}:host([single-line]) .top-actions{flex-wrap:nowrap;flex-shrink:0}:host([single-line]) .attachments{max-height:var(--luzmo-prompt-box-single-line-attachments-max-height,var(--prompt-box-single-line-attachments-max-height));flex-direction:row;flex-shrink:0;align-items:center;overflow:hidden}:host([single-line]) .image-attachments{flex-wrap:nowrap}:host([single-line]) .image-attachment{width:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size));height:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size))}:host([single-line]) .file-attachments{flex-wrap:nowrap}:host([single-line]) .input-wrapper{min-width:0}:host([single-line]) .input-field{--luzmo-text-area-min-block-size-quiet:auto;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px}:host([single-line]) .rich-input{min-height:unset;padding:0}:host([single-line]) .actions-row{flex-shrink:0}:host([single-line]) .bottom-actions{flex-wrap:nowrap;flex:0}::slotted([slot=top-actions]),::slotted([slot=bottom-actions]){align-items:center;display:inline-flex}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start));display:inline-flex}luzmo-overlay[part=trigger-menu-overlay]{--luzmo-overlay-min-width:0}.trigger-options{min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-width:var(--luzmo-prompt-box-trigger-menu-max-width,var(--prompt-box-trigger-menu-max-width,400px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));flex-direction:column;display:flex;overflow-y:auto}.trigger-options::-webkit-scrollbar{width:var(--luzmo-prompt-box-trigger-menu-scrollbar-width,var(--prompt-box-trigger-menu-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-border-radius,var(--prompt-box-trigger-menu-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-border-radius,var(--prompt-box-trigger-menu-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-hover-background,var(--prompt-box-trigger-menu-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background)) var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));background-color:var(--luzmo-prompt-box-trigger-menu-background,var(--prompt-box-trigger-menu-background,var(--luzmo-background-color,#fff)));border:1px solid var(--luzmo-prompt-box-trigger-menu-border-color,var(--prompt-box-trigger-menu-border-color,var(--luzmo-border-color,#0000001a)));border-radius:var(--luzmo-prompt-box-trigger-menu-border-radius,var(--prompt-box-trigger-menu-border-radius,var(--luzmo-border-radius-100,8px)));box-shadow:0 2px 8px var(--luzmo-prompt-box-trigger-menu-shadow-color,var(--prompt-box-trigger-menu-shadow-color,#0000001f))}.trigger-option{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-gap,var(--prompt-box-trigger-option-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-padding-block,var(--prompt-box-trigger-option-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-padding-inline,var(--prompt-box-trigger-option-padding-inline,10px));cursor:pointer;box-sizing:border-box;scroll-margin-block:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));transition:background-color .1s;display:flex}.trigger-option.has-description{padding-block:var(--luzmo-prompt-box-trigger-option-description-padding-block,var(--prompt-box-trigger-option-description-padding-block,4px));min-block-size:auto}.trigger-option.hovered,.trigger-option.highlighted{background-color:var(--luzmo-prompt-box-trigger-option-background-hover,var(--prompt-box-trigger-option-background-hover,var(--luzmo-background-color-hover,#0000000f)))}.trigger-option-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-icon-color,var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit)));font-size:var(--luzmo-prompt-box-trigger-option-icon-size,var(--prompt-box-trigger-option-icon-size,var(--luzmo-font-size,14px)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.trigger-option-label{font-size:var(--luzmo-prompt-box-trigger-option-font-size,var(--prompt-box-trigger-option-font-size,var(--luzmo-font-size,14px)));line-height:var(--luzmo-prompt-box-trigger-option-line-height,var(--prompt-box-trigger-option-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-color,var(--prompt-box-trigger-option-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-description{font-size:var(--luzmo-prompt-box-trigger-option-description-font-size,var(--prompt-box-trigger-option-description-font-size,var(--luzmo-font-size-xs,12px)));line-height:var(--luzmo-prompt-box-trigger-option-description-line-height,var(--prompt-box-trigger-option-description-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-description-color,var(--prompt-box-trigger-option-description-color,var(--luzmo-font-color,#6e6e6e)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-enter-icon{color:var(--luzmo-prompt-box-trigger-option-enter-icon-color,var(--prompt-box-trigger-option-enter-icon-color,var(--luzmo-font-color-dimmed,#0006)));flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.trigger-option-highlight{background-color:var(--luzmo-prompt-box-trigger-option-highlight-background,var(--prompt-box-trigger-option-highlight-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .12)));color:inherit;border-radius:2px;padding:0 1px}.trigger-option-header{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-header-gap,var(--prompt-box-trigger-option-header-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-header-padding-block,var(--prompt-box-trigger-option-header-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-header-padding-inline,var(--prompt-box-trigger-option-header-padding-inline,10px));background-color:var(--luzmo-prompt-box-trigger-option-header-background,var(--prompt-box-trigger-option-header-background));border-block-start:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));border-block-end:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex}.trigger-options>.trigger-option-header:first-child{border-block-start:none}.trigger-option-header-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-header-icon-color,var(--prompt-box-trigger-option-header-icon-color,var(--luzmo-font-color,#333)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-header-label{font-size:var(--luzmo-prompt-box-trigger-option-header-font-size,var(--prompt-box-trigger-option-header-font-size,var(--luzmo-font-size,14px)));font-weight:var(--luzmo-prompt-box-trigger-option-header-font-weight,var(--prompt-box-trigger-option-header-font-weight,normal));line-height:var(--luzmo-prompt-box-trigger-option-header-line-height,var(--prompt-box-trigger-option-header-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-header-color,var(--prompt-box-trigger-option-header-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}luzmo-overlay[part=trigger-menu-overlay] ::slotted(*){min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));overflow-y:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important}@media (forced-colors:active){:host{--highcontrast-prompt-box-background-color:Canvas;--highcontrast-prompt-box-border-color:CanvasText;--highcontrast-prompt-box-border-color-focus:Highlight;--highcontrast-prompt-box-text-color:CanvasText}}:host{--prompt-box-font-family:var(--luzmo-font-family);--prompt-box-font-size:var(--luzmo-font-size);--prompt-box-line-height:1.5;--prompt-box-text-color:var(--luzmo-font-color);--prompt-box-background-color:var(--luzmo-background-color);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-border-width:var(--luzmo-border-width);--prompt-box-border-color:var(--luzmo-border-color);--prompt-box-border-color-focus:var(--luzmo-primary);--prompt-box-shadow:0 2px 8px rgba(var(--luzmo-border-color-rgb), .08);--prompt-box-shadow-focus:0 2px 12px rgba(var(--luzmo-primary-rgb), .15);--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-vertical-padding:var(--luzmo-spacing-4);--prompt-box-horizontal-padding:var(--luzmo-spacing-5);--prompt-box-actions-gap:var(--luzmo-spacing-3);--prompt-box-top-actions-gap:var(--luzmo-spacing-2);--prompt-box-bottom-actions-gap:var(--luzmo-spacing-2);--prompt-box-button-group-gap:var(--luzmo-spacing-2);--prompt-box-submit-button-margin-inline-start:var(--luzmo-spacing-3);--prompt-box-max-height:200px;--prompt-box-rich-input-padding:4px 0;--prompt-box-placeholder-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-animation-duration:var(--luzmo-animation-duration,.15s);--prompt-box-disabled-opacity:.5;--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:var(--luzmo-spacing-2);--prompt-box-file-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-preview-size:64px;--prompt-box-image-border-radius:var(--luzmo-border-radius);--prompt-box-image-background:#0000000d;--prompt-box-remove-button-size:20px;--prompt-box-remove-button-background:#00000080;--prompt-box-remove-button-background-hover:#000000b3;--prompt-box-remove-button-icon-color:#fff;--prompt-box-badge-gap:6px;--prompt-box-badge-padding:1px 6px;--prompt-box-badge-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .1);--prompt-box-badge-color:var(--luzmo-primary,#0064fa);--prompt-box-badge-border-radius:4px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-font-weight:500;--prompt-box-badge-max-width:200px;--prompt-box-badge-remove-size:14px;--prompt-box-badge-remove-font-size:12px;--prompt-box-badge-remove-hover-background:#0000001a;--prompt-box-waveform-gap:3px;--prompt-box-waveform-height:24px;--prompt-box-waveform-bar-width:3px;--prompt-box-waveform-bar-color:currentColor;--prompt-box-waveform-bar-radius:2px;--prompt-box-recording-duration-font-family:monospace;--prompt-box-recording-duration-font-size:14px;--prompt-box-recording-duration-font-weight:500;--prompt-box-recording-duration-color:currentColor;--prompt-box-trigger-menu-min-width:250px;--prompt-box-trigger-menu-max-width:300px;--prompt-box-trigger-menu-max-height:300px;--prompt-box-trigger-menu-background:var(--luzmo-background-color,#fff);--prompt-box-trigger-menu-border-color:var(--luzmo-border-color,#0000001a);--prompt-box-trigger-menu-border-radius:var(--luzmo-border-radius-100,8px);--prompt-box-trigger-menu-shadow-color:#0000001f;--prompt-box-trigger-menu-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-trigger-menu-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-trigger-menu-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-trigger-menu-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--prompt-box-single-line-gap:var(--luzmo-spacing-3);--prompt-box-single-line-attachments-max-height:32px;--prompt-box-single-line-image-size:28px;--prompt-box-trigger-option-gap:10px;--prompt-box-trigger-option-min-height:var(--luzmo-component-height,32px);--prompt-box-trigger-option-padding-block:4px;--prompt-box-trigger-option-padding-inline:10px;--prompt-box-trigger-option-description-padding-block:4px;--prompt-box-trigger-option-background-hover:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-icon-color:var(--luzmo-font-color,inherit);--prompt-box-trigger-option-icon-width:20px;--prompt-box-trigger-option-icon-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-description-font-size:var(--luzmo-font-size-xs,12px);--prompt-box-trigger-option-description-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-description-color:var(--luzmo-font-color,#6e6e6e);--prompt-box-trigger-option-enter-icon-color:var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit));--prompt-box-trigger-option-highlight-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .12);--prompt-box-trigger-option-header-gap:10px;--prompt-box-trigger-option-header-padding-block:4px;--prompt-box-trigger-option-header-padding-inline:10px;--prompt-box-trigger-option-header-background:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-header-border-color:var(--luzmo-border-color,#0000001f);--prompt-box-trigger-option-header-icon-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-header-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-header-font-weight:normal;--prompt-box-trigger-option-header-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-header-color:var(--luzmo-font-color,#333)}:host([size=xs]){--prompt-box-font-size:var(--luzmo-font-size-xs);--prompt-box-border-radius:var(--luzmo-border-radius);--prompt-box-vertical-padding:var(--luzmo-spacing-2);--prompt-box-horizontal-padding:var(--luzmo-spacing-3);--prompt-box-gap:var(--luzmo-spacing-3);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:var(--luzmo-spacing-3);--prompt-box-max-height:120px;--prompt-box-image-preview-size:40px;--prompt-box-remove-button-size:16px;--prompt-box-badge-font-size:.8em;--prompt-box-badge-padding:0px 3px;--prompt-box-badge-remove-size:10px;--prompt-box-badge-remove-font-size:9px}:host([size=s]){--prompt-box-font-size:var(--luzmo-font-size-s);--prompt-box-border-radius:var(--luzmo-border-radius-l);--prompt-box-vertical-padding:var(--luzmo-spacing-3);--prompt-box-horizontal-padding:var(--luzmo-spacing-4);--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-max-height:150px;--prompt-box-image-preview-size:48px;--prompt-box-remove-button-size:18px;--prompt-box-badge-font-size:.85em;--prompt-box-badge-padding:0px 4px;--prompt-box-badge-remove-size:12px;--prompt-box-badge-remove-font-size:10px}:host([size=l]){--prompt-box-font-size:var(--luzmo-font-size-l);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:var(--luzmo-spacing-5);--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--prompt-box-recording-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--prompt-box-max-height:250px;--prompt-box-image-preview-size:72px;--prompt-box-remove-button-size:24px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 8px;--prompt-box-badge-remove-size:16px;--prompt-box-badge-remove-font-size:13px}:host([size=xl]){--prompt-box-font-size:var(--luzmo-font-size-xl);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-attachments-gap:var(--luzmo-spacing-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-remove-button-size:28px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 10px;--prompt-box-badge-remove-size:18px;--prompt-box-badge-remove-font-size:14px}:host([pending]){--prompt-box-actions-opacity:.75}", $ = class extends n(e, {
|
|
1256
1275
|
validSizes: [
|
|
1257
1276
|
"xs",
|
|
1258
1277
|
"s",
|
|
@@ -1263,7 +1282,7 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1263
1282
|
defaultSize: "m"
|
|
1264
1283
|
}) {
|
|
1265
1284
|
constructor(...e) {
|
|
1266
|
-
super(...e), this.rows = 1, this.grows = !1, this.maxRows = -1, this.recording = !1, this.hideSubmit = !1, this.disableSubmit = !1, this.singleLine = !1, this.placeholder = "", this.value = "", this.disabled = !1, this.readonly = !1, this.maxlength = -1, this.pending = !1, this.allowImages = !1, this.allowFiles = !1, this.acceptedFileTypes = [], this.allowElements = !1, this.acceptedElementTypes = [], this._hasTopActions = !1, this._hasBottomActions = !1, this._hasRecordButton = !1, this._hasSubmitButton = !1, this._inputFocused = !1, this._attachments = new
|
|
1285
|
+
super(...e), this.rows = 1, this.grows = !1, this.maxRows = -1, this.recording = !1, this.hideSubmit = !1, this.disableSubmit = !1, this.singleLine = !1, this.placeholder = "", this.value = "", this.disabled = !1, this.readonly = !1, this.maxlength = -1, this.pending = !1, this.stoppable = !1, this.allowImages = !1, this.allowFiles = !1, this.acceptedFileTypes = [], this.allowElements = !1, this.acceptedElementTypes = [], this._hasTopActions = !1, this._hasBottomActions = !1, this._hasRecordButton = !1, this._hasSubmitButton = !1, this._inputFocused = !1, this._attachments = new te(this), this._recording = new g(this), this._richInput = new A(this), this._triggerMenu = new j(this), this.handleRecordButtonSlotChange = this._slotPresenceHandler((e) => this._hasRecordButton = e), this.handleSubmitButtonSlotChange = this._slotPresenceHandler((e) => this._hasSubmitButton = e), this.handleRecordClick = (e) => {
|
|
1267
1286
|
let t = e.currentTarget.matches(":focus-visible");
|
|
1268
1287
|
this._recording.start(t);
|
|
1269
1288
|
}, this.handleInput = (e) => {
|
|
@@ -1295,8 +1314,13 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1295
1314
|
}
|
|
1296
1315
|
(e.key === "Backspace" || e.key === "Delete") && this._richInput.handleBadgeDelete(e.key) && e.preventDefault();
|
|
1297
1316
|
}
|
|
1317
|
+
}, this.handleStopClick = () => {
|
|
1318
|
+
this.disabled || !this.pending || !this.stoppable || this.dispatchEvent(new CustomEvent("luzmo-stop", {
|
|
1319
|
+
bubbles: !0,
|
|
1320
|
+
composed: !0
|
|
1321
|
+
}));
|
|
1298
1322
|
}, this._handleComponentFocusIn = () => {
|
|
1299
|
-
|
|
1323
|
+
B() && this.classList.add("focus-visible");
|
|
1300
1324
|
}, this._handleComponentFocusOut = (e) => {
|
|
1301
1325
|
let t = e.relatedTarget;
|
|
1302
1326
|
t instanceof Node && (this.contains(t) || this.shadowRoot?.contains(t)) || this.classList.remove("focus-visible");
|
|
@@ -1305,7 +1329,7 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1305
1329
|
}, this._handleTopActionsSlotChange = this._slotPresenceHandler((e) => this._hasTopActions = e), this._handleBottomActionsSlotChange = this._slotPresenceHandler((e) => this._hasBottomActions = e);
|
|
1306
1330
|
}
|
|
1307
1331
|
static get styles() {
|
|
1308
|
-
return [s(
|
|
1332
|
+
return [s(fe)];
|
|
1309
1333
|
}
|
|
1310
1334
|
get triggers() {
|
|
1311
1335
|
return this._triggerMenu.triggers;
|
|
@@ -1348,10 +1372,10 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1348
1372
|
this._richInput.setSegments(e);
|
|
1349
1373
|
}
|
|
1350
1374
|
connectedCallback() {
|
|
1351
|
-
super.connectedCallback(),
|
|
1375
|
+
super.connectedCallback(), R(), this.addEventListener("focusin", this._handleComponentFocusIn), this.addEventListener("focusout", this._handleComponentFocusOut), this.addEventListener("paste", this._handlePaste);
|
|
1352
1376
|
}
|
|
1353
1377
|
disconnectedCallback() {
|
|
1354
|
-
super.disconnectedCallback(),
|
|
1378
|
+
super.disconnectedCallback(), z(), this.removeEventListener("focusin", this._handleComponentFocusIn), this.removeEventListener("focusout", this._handleComponentFocusOut), this.removeEventListener("paste", this._handlePaste);
|
|
1355
1379
|
}
|
|
1356
1380
|
updated(e) {
|
|
1357
1381
|
super.updated(e), this._richInputElement && (this._richInput.richInputElement = this._richInputElement, this._triggerMenu.richInputElement = this._richInputElement), (e.has("pending") || e.has("disabled")) && ue(this.shadowRoot, this.disabled, this.pending), this._recording.shouldFocusFinishButton && this._recording.isRecording && (this._recording.shouldFocusFinishButton = !1, requestAnimationFrame(() => {
|
|
@@ -1414,7 +1438,7 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1414
1438
|
}
|
|
1415
1439
|
_submit() {
|
|
1416
1440
|
if (this.disabled || this.readonly || this.pending || this.disableSubmit) return;
|
|
1417
|
-
let e = this.shadowRoot?.querySelector("slot[name=\"top-actions\"]"), t = this.shadowRoot?.querySelector("slot[name=\"bottom-actions\"]"), n = e?.assignedElements() ?? [], r = t?.assignedElements() ?? [], i =
|
|
1441
|
+
let e = this.shadowRoot?.querySelector("slot[name=\"top-actions\"]"), t = this.shadowRoot?.querySelector("slot[name=\"bottom-actions\"]"), n = e?.assignedElements() ?? [], r = t?.assignedElements() ?? [], i = de([...n, ...r]), a = {
|
|
1418
1442
|
value: this.value,
|
|
1419
1443
|
segments: this.segments,
|
|
1420
1444
|
topActions: [...n],
|
|
@@ -1435,19 +1459,19 @@ var de = ":host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-
|
|
|
1435
1459
|
class="container ${this._inputFocused ? "input-focused" : ""} ${this._richInput?.isDragOver ? "drag-over" : ""}"
|
|
1436
1460
|
part="container"
|
|
1437
1461
|
>
|
|
1438
|
-
${
|
|
1462
|
+
${V(this, this._hasTopActions, this._handleTopActionsSlotChange)}
|
|
1439
1463
|
${ce(this)}
|
|
1440
1464
|
<div class="input-wrapper" part="input-wrapper">
|
|
1441
1465
|
${ae(this)}
|
|
1442
1466
|
</div>
|
|
1443
1467
|
<div class="actions-row" part="actions-row">
|
|
1444
|
-
${
|
|
1468
|
+
${H(this, this._hasBottomActions, this._handleBottomActionsSlotChange)}
|
|
1445
1469
|
<div class="button-group" part="button-group">
|
|
1446
|
-
${
|
|
1470
|
+
${W(this)} ${re(this)}
|
|
1447
1471
|
</div>
|
|
1448
1472
|
</div>
|
|
1449
1473
|
</div>
|
|
1450
|
-
${
|
|
1474
|
+
${X(this)}
|
|
1451
1475
|
`;
|
|
1452
1476
|
}
|
|
1453
1477
|
};
|
|
@@ -1484,6 +1508,9 @@ t([c({ type: Number })], $.prototype, "rows", void 0), t([c({
|
|
|
1484
1508
|
type: Boolean,
|
|
1485
1509
|
reflect: !0
|
|
1486
1510
|
})], $.prototype, "pending", void 0), t([c({
|
|
1511
|
+
type: Boolean,
|
|
1512
|
+
reflect: !0
|
|
1513
|
+
})], $.prototype, "stoppable", void 0), t([c({
|
|
1487
1514
|
type: Boolean,
|
|
1488
1515
|
reflect: !0,
|
|
1489
1516
|
attribute: "allow-images"
|
|
@@ -1503,4 +1530,4 @@ t([c({ type: Number })], $.prototype, "rows", void 0), t([c({
|
|
|
1503
1530
|
attribute: "accepted-element-types"
|
|
1504
1531
|
})], $.prototype, "acceptedElementTypes", void 0), t([c({ type: Array })], $.prototype, "triggers", null), t([u()], $.prototype, "_hasTopActions", void 0), t([u()], $.prototype, "_hasBottomActions", void 0), t([u()], $.prototype, "_hasRecordButton", void 0), t([u()], $.prototype, "_hasSubmitButton", void 0), t([u()], $.prototype, "_inputFocused", void 0), t([l("luzmo-text-field")], $.prototype, "_inputElement", void 0), t([l(".rich-input")], $.prototype, "_richInputElement", void 0), t([l("input[type=\"file\"]")], $.prototype, "_fileInput", void 0), t([l(".finish-recording-button")], $.prototype, "_finishRecordingButton", void 0), customElements.get("luzmo-prompt-box") || customElements.define("luzmo-prompt-box", $);
|
|
1505
1532
|
//#endregion
|
|
1506
|
-
export {
|
|
1533
|
+
export { k as n, $ as t };
|