@luzmo/lucero 1.0.2 → 1.0.3-alpha.0

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.
@@ -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 g = class {
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
- }, ee = class {
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 te(e, t, n, r) {
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 b(e, t, n, r, i) {
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 = te(t, n, r, i)), 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 x(e) {
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 S(e, t) {
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 C(e) {
278
+ function w(e) {
279
279
  return e === " " || e === "\n" || e === "\xA0";
280
280
  }
281
- function w(e) {
282
- let t = x(e);
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 C(n.textContent?.charAt(r - 2) ?? "");
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 : C(t.at(-1) ?? "");
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 : C(t.at(-1) ?? "");
298
+ return t.length === 0 ? !0 : w(t.at(-1) ?? "");
299
299
  }
300
300
  }
301
301
  return !1;
302
302
  }
303
- function T(e, t) {
304
- let n = x(e);
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 = x(e);
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 E(e, t) {
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
- S(r, t === -1 ? e.length : t + 1);
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 re(e, t, n, r) {
365
- let i = x(e);
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)), S(e, i);
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(), S(s, n);
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 D = "application/x-luzmo-element", O = class {
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 = x(this._host.shadowRoot);
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(D);
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 ? b(this._host.shadowRoot, this.richInputElement, e.clientX, e.clientY, this._dragCaret) : null;
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), E(c, a), l = !0;
493
+ this._ensureSpaceAfter(s), D(c, a), l = !0;
494
494
  }
495
- return l || (c.append(s), this._ensureSpaceAfter(s), E(c, a)), this.syncValue(), this._host.dispatchEvent(new CustomEvent("luzmo-element-inserted", {
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 x(this._host.shadowRoot);
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 = x(this._host.shadowRoot);
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 = b(this._host.shadowRoot, this.richInputElement, e, t, this._dragCaret);
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 = b(this._host.shadowRoot, this.richInputElement, e, t, this._dragCaret);
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
- }, k = class {
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 = T(this._host.shadowRoot, this.richInputElement);
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) || w(this._host.shadowRoot) && this.open(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
- re(r, n, t, this.searchString);
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
- E(n, a), this.close(), this._host.updateComplete.then(() => {
832
+ D(n, a), this.close(), this._host.updateComplete.then(() => {
833
833
  requestAnimationFrame(() => {
834
- E(n, a);
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
- }, A = !1, j = 0;
850
- function M() {
851
- A = !0;
852
- }
853
- function N() {
854
- A = !1;
855
- }
849
+ }, M = !1, N = 0;
856
850
  function P() {
857
- document.addEventListener("keydown", M, !0), document.addEventListener("mousedown", N, !0), document.addEventListener("pointerdown", N, !0);
851
+ M = !0;
858
852
  }
859
853
  function F() {
860
- document.removeEventListener("keydown", M, !0), document.removeEventListener("mousedown", N, !0), document.removeEventListener("pointerdown", N, !0);
854
+ M = !1;
861
855
  }
862
856
  function I() {
863
- j === 0 && typeof window < "u" && P(), j++;
857
+ document.addEventListener("keydown", P, !0), document.addEventListener("mousedown", F, !0), document.addEventListener("pointerdown", F, !0);
864
858
  }
865
859
  function L() {
866
- j--, j <= 0 && (j = 0, F());
860
+ document.removeEventListener("keydown", P, !0), document.removeEventListener("mousedown", F, !0), document.removeEventListener("pointerdown", F, !0);
867
861
  }
868
862
  function R() {
869
- return A;
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 z(e, t, n) {
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 B(e, t, n) {
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 V(e) {
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 H(e) {
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
- ${V(e)}
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 U(e) {
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 i = !!e.value.trim() || e.richInputController.elementCount > 0;
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 && !i}
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 ie(e, t) {
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 W(e, t) {
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 G(e, t, n, r, i) {
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 ? ie(t.label, p) : t.label}</span
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 K(e, t, n, r) {
1064
+ function J(e, t, n, r) {
1046
1065
  let i = [];
1047
- for (let [a, o] of t.entries()) o.header ? i.push(W(o, r)) : i.push(G(e, o, a, n, r));
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 q(e) {
1078
+ function Y(e) {
1060
1079
  return a`<slot name=${e} style="display: none;"></slot>`;
1061
1080
  }
1062
- function J(e) {
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(q(n));
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(q(e));
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 ? K(e, t.filteredOptions, t.highlightedIndex, n) : o}
1102
+ ${s && i ? J(e, t.filteredOptions, t.highlightedIndex, n) : o}
1084
1103
  </luzmo-overlay>
1085
1104
  ${c}
1086
1105
  `;
1087
1106
  }
1088
- function Y(e) {
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 ? Y(e) : a`
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 X = "luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field";
1219
- function Z(e) {
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(X) && t.push(e), t.push(...e.querySelectorAll(X)), t;
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 Z(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"));
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 Z(e)) t ? (r.setAttribute("disabled", ""), r.removeAttribute("readonly")) : n ? (r.removeAttribute("disabled"), r.setAttribute("readonly", "")) : (r.removeAttribute("disabled"), r.removeAttribute("readonly"));
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 Q(e) {
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 Z(r)) {
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 g(this), this._recording = new ee(this), this._richInput = new O(this), this._triggerMenu = new k(this), this.handleRecordButtonSlotChange = this._slotPresenceHandler((e) => this._hasRecordButton = e), this.handleSubmitButtonSlotChange = this._slotPresenceHandler((e) => this._hasSubmitButton = e), this.handleRecordClick = (e) => {
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
- R() && this.classList.add("focus-visible");
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(de)];
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(), I(), this.addEventListener("focusin", this._handleComponentFocusIn), this.addEventListener("focusout", this._handleComponentFocusOut), this.addEventListener("paste", this._handlePaste);
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(), L(), this.removeEventListener("focusin", this._handleComponentFocusIn), this.removeEventListener("focusout", this._handleComponentFocusOut), this.removeEventListener("paste", this._handlePaste);
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 = Q([...n, ...r]), a = {
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
- ${z(this, this._hasTopActions, this._handleTopActionsSlotChange)}
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
- ${B(this, this._hasBottomActions, this._handleBottomActionsSlotChange)}
1468
+ ${H(this, this._hasBottomActions, this._handleBottomActionsSlotChange)}
1445
1469
  <div class="button-group" part="button-group">
1446
- ${H(this)} ${U(this)}
1470
+ ${W(this)} ${re(this)}
1447
1471
  </div>
1448
1472
  </div>
1449
1473
  </div>
1450
- ${J(this)}
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 { D as n, $ as t };
1533
+ export { k as n, $ as t };