@luzmo/lucero 1.0.1-alpha.42 → 1.0.1-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +2 -2
  3. package/components/action-bar/index.cjs +1 -1
  4. package/components/action-bar/index.js +5 -5
  5. package/components/action-button/index.cjs +1 -1
  6. package/components/action-button/index.js +1 -1
  7. package/components/action-group/index.cjs +1 -1
  8. package/components/action-group/index.js +1 -1
  9. package/components/{action-group-Bwt9w8Vh.js → action-group-CqAXlI_I.js} +1 -1
  10. package/components/{action-group-D917z7XF.cjs → action-group-_gt0SxJg.cjs} +1 -1
  11. package/components/action-menu/index.cjs +1 -1
  12. package/components/action-menu/index.js +1 -1
  13. package/components/avatar/index.cjs +1 -1
  14. package/components/avatar/index.js +1 -1
  15. package/components/{base-CdYjmV_8.js → base-BUViEg_7.js} +10 -10
  16. package/components/{base-5nDSSNeT.cjs → base-DxRGeCrb.cjs} +1 -1
  17. package/components/button/index.cjs +1 -1
  18. package/components/button/index.js +3 -3
  19. package/components/{button-base-BdzHcHRs.cjs → button-base-D-gp73uZ.cjs} +1 -1
  20. package/components/{button-base-B_SkfcFn.js → button-base-npzdrTiY.js} +1 -1
  21. package/components/button-group/index.cjs +1 -1
  22. package/components/button-group/index.js +1 -1
  23. package/components/calendar/index.cjs +1 -1
  24. package/components/calendar/index.js +1 -1
  25. package/components/chat-message/chat-message.d.ts +5 -0
  26. package/components/chat-message/index.cjs +12 -12
  27. package/components/chat-message/index.js +6 -3
  28. package/components/chat-message-group/index.cjs +1 -1
  29. package/components/chat-message-group/index.js +1 -1
  30. package/components/checkbox/checkbox.d.ts +5 -0
  31. package/components/checkbox/index.cjs +2 -2
  32. package/components/checkbox/index.js +10 -7
  33. package/components/{close-button-Decm0Qbb.cjs → close-button-CSGamYgn.cjs} +1 -1
  34. package/components/{close-button-CGZxCNlI.js → close-button-po7k74tH.js} +1 -1
  35. package/components/color-area/index.cjs +1 -1
  36. package/components/color-area/index.js +2 -2
  37. package/components/color-field/index.cjs +1 -1
  38. package/components/color-field/index.js +1 -1
  39. package/components/color-handle/index.cjs +1 -1
  40. package/components/color-handle/index.js +2 -2
  41. package/components/color-loupe/index.cjs +1 -1
  42. package/components/color-loupe/index.js +1 -1
  43. package/components/{color-loupe-CIEFp7ln.cjs → color-loupe-Dta8u4pX.cjs} +1 -1
  44. package/components/{color-loupe-CLPX6xVb.js → color-loupe-OvalnSmN.js} +1 -1
  45. package/components/color-menu/index.cjs +1 -1
  46. package/components/color-menu/index.js +1 -1
  47. package/components/color-palette/index.cjs +1 -1
  48. package/components/color-palette/index.js +1 -1
  49. package/components/color-palette-group/index.cjs +1 -1
  50. package/components/color-palette-group/index.js +1 -1
  51. package/components/color-picker/index.cjs +1 -1
  52. package/components/color-picker/index.js +1 -1
  53. package/components/color-slider/index.cjs +1 -1
  54. package/components/color-slider/index.js +2 -2
  55. package/components/date-time-picker/index.cjs +1 -1
  56. package/components/date-time-picker/index.js +1 -1
  57. package/components/divider/index.cjs +1 -1
  58. package/components/divider/index.js +1 -1
  59. package/components/field-group/index.cjs +1 -1
  60. package/components/field-group/index.js +1 -1
  61. package/components/{field-group-CHmw159R.js → field-group-GZLR5GAn.js} +1 -1
  62. package/components/{field-group-BYHNJmv0.cjs → field-group-aG9hVBjA.cjs} +1 -1
  63. package/components/field-label/index.cjs +1 -1
  64. package/components/field-label/index.js +1 -1
  65. package/components/{field-label-Cy3xMWZ-.js → field-label-BxW2RJMY.js} +1 -1
  66. package/components/{field-label-DZoeqJJX.cjs → field-label-CYC-u_Cq.cjs} +1 -1
  67. package/components/{focusable-BjvsvVam.js → focusable-BM1nd-dI.js} +1 -1
  68. package/components/{focusable-CbVKgGfS.cjs → focusable-agUxU61W.cjs} +1 -1
  69. package/components/icon/index.cjs +1 -1
  70. package/components/icon/index.js +1 -1
  71. package/components/index.cjs +1 -205
  72. package/components/index.js +174 -972
  73. package/components/infield-button/index.cjs +1 -1
  74. package/components/infield-button/index.js +1 -1
  75. package/components/label/index.cjs +1 -1
  76. package/components/label/index.js +1 -1
  77. package/components/{language-resolution-EUER43cg.cjs → language-resolution-DmX3Wy5I.cjs} +1 -1
  78. package/components/{language-resolution-B-wjV5bb.js → language-resolution-pYd-sAaw.js} +1 -1
  79. package/components/menu/index.cjs +2 -2
  80. package/components/menu/index.js +3 -3
  81. package/components/multi-language-field/index.cjs +1 -1
  82. package/components/multi-language-field/index.js +1 -1
  83. package/components/number-field/index.cjs +1 -1
  84. package/components/number-field/index.js +2 -2
  85. package/components/options/index.cjs +1 -1
  86. package/components/options/index.js +2 -2
  87. package/components/overlay/index.cjs +1 -1
  88. package/components/overlay/index.js +3 -3
  89. package/components/{overlay-BhrVS5h7.cjs → overlay-BTNKxbrJ.cjs} +1 -1
  90. package/components/{overlay-C-No3oJQ.js → overlay-CXkoVtnB.js} +1 -1
  91. package/components/{pending-state-DQctFHI8.cjs → pending-state-DBfiIiwY.cjs} +1 -1
  92. package/components/{pending-state-Dx1u3EXA.js → pending-state-DG9TpsGT.js} +1 -1
  93. package/components/picker/index.cjs +1 -1
  94. package/components/picker/index.js +2 -2
  95. package/components/{picker-DxYgh4LR.cjs → picker-B2_mjftE.cjs} +1 -1
  96. package/components/{picker-GyeSAxxY.js → picker-DbOS1rE7.js} +4 -4
  97. package/components/picker-button/index.cjs +1 -1
  98. package/components/picker-button/index.js +1 -1
  99. package/components/popover/index.cjs +1 -1
  100. package/components/popover/index.js +1 -1
  101. package/components/{popover-lcZnODPK.cjs → popover-CPZ51K_z.cjs} +1 -1
  102. package/components/{popover-ucIgjbQs.js → popover-UFgI7b75.js} +1 -1
  103. package/components/progress-circle/index.cjs +1 -1
  104. package/components/progress-circle/index.js +1 -1
  105. package/components/{progress-circle-DgMbqrzG.cjs → progress-circle-BMRjGc4y.cjs} +1 -1
  106. package/components/{progress-circle-D5J0ZwY0.js → progress-circle-unckklsi.js} +1 -1
  107. package/components/prompt-box/index.cjs +222 -0
  108. package/components/prompt-box/index.js +832 -0
  109. package/components/radio/index.cjs +1 -1
  110. package/components/radio/index.js +2 -2
  111. package/components/search/index.cjs +1 -1
  112. package/components/search/index.js +1 -1
  113. package/components/select/index.cjs +1 -1
  114. package/components/select/index.js +2 -2
  115. package/components/slider/index.cjs +1 -1
  116. package/components/slider/index.js +1 -1
  117. package/components/swatch/index.cjs +1 -1
  118. package/components/swatch/index.js +2 -2
  119. package/components/switch/index.cjs +1 -1
  120. package/components/switch/index.js +1 -1
  121. package/components/tabs/index.cjs +1 -1
  122. package/components/tabs/index.js +2 -2
  123. package/components/tags/index.cjs +4 -4
  124. package/components/tags/index.js +3 -3
  125. package/components/text-field/index.cjs +1 -1
  126. package/components/text-field/index.js +2 -2
  127. package/components/{text-field-DFP7p8Rv.cjs → text-field-CclDsK1X.cjs} +1 -1
  128. package/components/{text-field-BHaLKkf1.js → text-field-Ckbe58fH.js} +1 -1
  129. package/components/toast/index.cjs +1 -1
  130. package/components/toast/index.js +2 -2
  131. package/components/tooltip/index.cjs +1 -1
  132. package/components/tooltip/index.js +1 -1
  133. package/components/utils.cjs +1 -1
  134. package/components/utils.js +2 -2
  135. package/custom-elements.json +1 -1
  136. package/package.json +1 -1
@@ -15,4 +15,4 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../progress-circle-DgMbqrzG.cjs");customElements.get("luzmo-progress-circle")||customElements.define("luzmo-progress-circle",e.LuzmoProgressCircle);exports.LuzmoProgressCircle=e.LuzmoProgressCircle;
18
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../progress-circle-BMRjGc4y.cjs");customElements.get("luzmo-progress-circle")||customElements.define("luzmo-progress-circle",e.LuzmoProgressCircle);exports.LuzmoProgressCircle=e.LuzmoProgressCircle;
@@ -15,7 +15,7 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { L as r } from "../progress-circle-D5J0ZwY0.js";
18
+ import { L as r } from "../progress-circle-unckklsi.js";
19
19
  const l = () => {
20
20
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
21
21
  const o = document.createElement("style");
@@ -15,7 +15,7 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";const m=require("lit"),i=require("lit/decorators.js"),g=require("lit/directives/if-defined.js"),d=require("./base-5nDSSNeT.cjs"),f=require("./sized-mixin-DcvJLFeo.cjs"),p=(a,r)=>{if(a)return null;const t=r.assignedNodes().reduce((o,e)=>e.textContent?o+e.textContent:o,"");return t?t.trim():null},u="@media (forced-colors: active){:host{--highcontrast-progress-circle-fill-border-color: Highlight;--highcontrast-progress-circle-fill-border-color-over-background: Highlight}.track{--progress-circle-track-border-style: double}}:host{position:var(--luzmo-progress-circle-position, relative);direction:ltr;display:inline-block;position:relative;transform:translateZ(0)}:host,.track{inline-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));block-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px))}.track{box-sizing:border-box;border-style:var(--highcontrast-progress-circle-track-border-style, var(--luzmo-progress-circle-track-border-style, var(--progress-circle-track-border-style, solid)));border-width:var(--luzmo-progress-circle-thickness, var(--progress-circle-thickness, 2px));border-radius:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-color:var(--luzmo-progress-circle-track-border-color, var(--luzmo-border-color))}.fills{inline-size:100%;block-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0}.fill{box-sizing:border-box;inline-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));block-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-style:solid;border-width:var(--luzmo-progress-circle-thickness, var(--progress-circle-thickness, 3px));border-radius:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-color:var(--highcontrast-progress-circle-fill-border-color, var(--luzmo-progress-circle-fill-border-color, var(--luzmo-primary)))}:host([static-color=black]) .track{border-color:var(--luzmo-progress-circle-track-border-color-over-background, rgba(0, 0, 0, .25))}:host([static-color=black]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background, var(--luzmo-progress-circle-fill-border-color-over-background, rgb(0, 0, 0)))}:host([static-color=white]) .track{border-color:var(--luzmo-progress-circle-track-border-color-over-background, rgba(255, 255, 255, .15))}:host([static-color=white]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background, var(--luzmo-progress-circle-fill-border-color-over-background, rgb(255, 255, 255)))}.fill-mask1,.fill-mask2{inline-size:50%;block-size:100%;transform-origin:100%;position:absolute;overflow:hidden;transform:rotate(180deg)}.fill-sub-mask1,.fill-sub-mask2{inline-size:100%;block-size:100%;transform-origin:100%;overflow:hidden;transform:rotate(-180deg)}.fill-mask2{transform:rotate(0)}:host([indeterminate]) .fills{will-change:transform;transform-origin:center;animation:1s cubic-bezier(.25,.78,.48,.89) infinite luzmo-fills-rotate;transform:translateZ(0)}:host([indeterminate]) .fill-sub-mask1{will-change:transform;animation:1s linear infinite luzmo-fill-mask-1;transform:translateZ(0)}:host([indeterminate]) .fill-sub-mask2{will-change:transform;animation:1s linear infinite luzmo-fill-mask-2;transform:translateZ(0)}.fill-submask-2{animation:1s linear infinite luzmo-fill-mask-2}@keyframes luzmo-fill-mask-1{0%{transform:rotate(90deg)}1.69%{transform:rotate(72.3deg)}3.39%{transform:rotate(55.5deg)}5.08%{transform:rotate(40.3deg)}6.78%{transform:rotate(25deg)}8.47%{transform:rotate(10.6deg)}10.17%{transform:rotate(0)}11.86%{transform:rotate(0)}13.56%{transform:rotate(0)}15.25%{transform:rotate(0)}16.95%{transform:rotate(0)}18.64%{transform:rotate(0)}20.34%{transform:rotate(0)}22.03%{transform:rotate(0)}23.73%{transform:rotate(0)}25.42%{transform:rotate(0)}27.12%{transform:rotate(0)}28.81%{transform:rotate(0)}30.51%{transform:rotate(0)}32.2%{transform:rotate(0)}33.9%{transform:rotate(0)}35.59%{transform:rotate(0)}37.29%{transform:rotate(0)}38.98%{transform:rotate(0)}40.68%{transform:rotate(0)}42.37%{transform:rotate(5.3deg)}44.07%{transform:rotate(13.4deg)}45.76%{transform:rotate(20.6deg)}47.46%{transform:rotate(29deg)}49.15%{transform:rotate(36.5deg)}50.85%{transform:rotate(42.6deg)}52.54%{transform:rotate(48.8deg)}54.24%{transform:rotate(54.2deg)}55.93%{transform:rotate(59.4deg)}57.63%{transform:rotate(63.2deg)}59.32%{transform:rotate(67.2deg)}61.02%{transform:rotate(70.8deg)}62.71%{transform:rotate(73.8deg)}64.41%{transform:rotate(76.2deg)}66.1%{transform:rotate(78.7deg)}67.8%{transform:rotate(80.6deg)}69.49%{transform:rotate(82.6deg)}71.19%{transform:rotate(83.7deg)}72.88%{transform:rotate(85deg)}74.58%{transform:rotate(86.3deg)}76.27%{transform:rotate(87deg)}77.97%{transform:rotate(87.7deg)}79.66%{transform:rotate(88.3deg)}81.36%{transform:rotate(88.6deg)}83.05%{transform:rotate(89.2deg)}84.75%{transform:rotate(89.2deg)}86.44%{transform:rotate(89.5deg)}88.14%{transform:rotate(89.9deg)}89.83%{transform:rotate(89.7deg)}91.53%{transform:rotate(90.1deg)}93.22%{transform:rotate(90.2deg)}94.92%{transform:rotate(90.1deg)}96.61%{transform:rotate(90deg)}98.31%{transform:rotate(89.8deg)}to{transform:rotate(90deg)}}@keyframes luzmo-fill-mask-2{0%{transform:rotate(180deg)}1.69%{transform:rotate(180deg)}3.39%{transform:rotate(180deg)}5.08%{transform:rotate(180deg)}6.78%{transform:rotate(180deg)}8.47%{transform:rotate(180deg)}10.17%{transform:rotate(179.2deg)}11.86%{transform:rotate(164deg)}13.56%{transform:rotate(151.8deg)}15.25%{transform:rotate(140.8deg)}16.95%{transform:rotate(130.3deg)}18.64%{transform:rotate(120.4deg)}20.34%{transform:rotate(110.8deg)}22.03%{transform:rotate(101.6deg)}23.73%{transform:rotate(93.5deg)}25.42%{transform:rotate(85.4deg)}27.12%{transform:rotate(78.1deg)}28.81%{transform:rotate(71.2deg)}30.51%{transform:rotate(89.1deg)}32.2%{transform:rotate(105.5deg)}33.9%{transform:rotate(121.3deg)}35.59%{transform:rotate(135.5deg)}37.29%{transform:rotate(148.4deg)}38.98%{transform:rotate(161deg)}40.68%{transform:rotate(173.5deg)}42.37%{transform:rotate(180deg)}44.07%{transform:rotate(180deg)}45.76%{transform:rotate(180deg)}47.46%{transform:rotate(180deg)}49.15%{transform:rotate(180deg)}50.85%{transform:rotate(180deg)}52.54%{transform:rotate(180deg)}54.24%{transform:rotate(180deg)}55.93%{transform:rotate(180deg)}57.63%{transform:rotate(180deg)}59.32%{transform:rotate(180deg)}61.02%{transform:rotate(180deg)}62.71%{transform:rotate(180deg)}64.41%{transform:rotate(180deg)}66.1%{transform:rotate(180deg)}67.8%{transform:rotate(180deg)}69.49%{transform:rotate(180deg)}71.19%{transform:rotate(180deg)}72.88%{transform:rotate(180deg)}74.58%{transform:rotate(180deg)}76.27%{transform:rotate(180deg)}77.97%{transform:rotate(180deg)}79.66%{transform:rotate(180deg)}81.36%{transform:rotate(180deg)}83.05%{transform:rotate(180deg)}84.75%{transform:rotate(180deg)}86.44%{transform:rotate(180deg)}88.14%{transform:rotate(180deg)}89.83%{transform:rotate(180deg)}91.53%{transform:rotate(180deg)}93.22%{transform:rotate(180deg)}94.92%{transform:rotate(180deg)}96.61%{transform:rotate(180deg)}98.31%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes luzmo-fills-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host([size=s]){--progress-circle-size: 16px;--progress-circle-thickness: 2px}:host([size=l]){--progress-circle-size: 48px;--progress-circle-thickness: 3px}:host([size=xl]){--progress-circle-size: 64px;--progress-circle-thickness: 4px}:host{block-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));inline-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));--progress-circle-size: inherit;--parent-element-progress-circle-size: inherit;--parent-element-progress-circle-size: var(--progress-circle-size, 32px)}:host([size=s]){--parent-element-progress-circle-size: var(--progress-circle-size, 16px)}:host([size=l]){--parent-element-progress-circle-size: var(--progress-circle-size, 48px)}:host([size=xl]){--parent-element-progress-circle-size: var(--progress-circle-size, 64px)}slot{display:none}.track,.fill{block-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));border-radius:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));inline-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size))}:host([indeterminate]) .fills,:host([indeterminate]) .fill-sub-mask1,:host([indeterminate]) .fill-sub-mask2{animation-duration:var(--luzmo-progress-circle-animation-duration, 1s)}";var b=Object.defineProperty,l=(a,r,t,o)=>{for(var e=void 0,n=a.length-1,c;n>=0;n--)(c=a[n])&&(e=c(r,t,e)||e);return e&&b(r,t,e),e};class s extends f.SizedMixin(d.LuzmoElement,{validSizes:["s","m","l","xl"]}){constructor(){super(...arguments),this.indeterminate=!1,this.label="",this.progress=0}static get styles(){return[m.unsafeCSS(u)]}makeRotation(r){return this.indeterminate?void 0:`transform: rotate(${r}deg);`}render(){const r=[this.makeRotation(-180+3.6*Math.min(this.progress,50)),this.makeRotation(-180+3.6*Math.max(this.progress-50,0))],t=["mask1","mask2"];return m.html`
18
+ "use strict";const m=require("lit"),i=require("lit/decorators.js"),g=require("lit/directives/if-defined.js"),d=require("./base-DxRGeCrb.cjs"),f=require("./sized-mixin-DcvJLFeo.cjs"),p=(a,r)=>{if(a)return null;const t=r.assignedNodes().reduce((o,e)=>e.textContent?o+e.textContent:o,"");return t?t.trim():null},u="@media (forced-colors: active){:host{--highcontrast-progress-circle-fill-border-color: Highlight;--highcontrast-progress-circle-fill-border-color-over-background: Highlight}.track{--progress-circle-track-border-style: double}}:host{position:var(--luzmo-progress-circle-position, relative);direction:ltr;display:inline-block;position:relative;transform:translateZ(0)}:host,.track{inline-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));block-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px))}.track{box-sizing:border-box;border-style:var(--highcontrast-progress-circle-track-border-style, var(--luzmo-progress-circle-track-border-style, var(--progress-circle-track-border-style, solid)));border-width:var(--luzmo-progress-circle-thickness, var(--progress-circle-thickness, 2px));border-radius:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-color:var(--luzmo-progress-circle-track-border-color, var(--luzmo-border-color))}.fills{inline-size:100%;block-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0}.fill{box-sizing:border-box;inline-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));block-size:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-style:solid;border-width:var(--luzmo-progress-circle-thickness, var(--progress-circle-thickness, 3px));border-radius:var(--luzmo-progress-circle-size, var(--progress-circle-size, 32px));border-color:var(--highcontrast-progress-circle-fill-border-color, var(--luzmo-progress-circle-fill-border-color, var(--luzmo-primary)))}:host([static-color=black]) .track{border-color:var(--luzmo-progress-circle-track-border-color-over-background, rgba(0, 0, 0, .25))}:host([static-color=black]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background, var(--luzmo-progress-circle-fill-border-color-over-background, rgb(0, 0, 0)))}:host([static-color=white]) .track{border-color:var(--luzmo-progress-circle-track-border-color-over-background, rgba(255, 255, 255, .15))}:host([static-color=white]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background, var(--luzmo-progress-circle-fill-border-color-over-background, rgb(255, 255, 255)))}.fill-mask1,.fill-mask2{inline-size:50%;block-size:100%;transform-origin:100%;position:absolute;overflow:hidden;transform:rotate(180deg)}.fill-sub-mask1,.fill-sub-mask2{inline-size:100%;block-size:100%;transform-origin:100%;overflow:hidden;transform:rotate(-180deg)}.fill-mask2{transform:rotate(0)}:host([indeterminate]) .fills{will-change:transform;transform-origin:center;animation:1s cubic-bezier(.25,.78,.48,.89) infinite luzmo-fills-rotate;transform:translateZ(0)}:host([indeterminate]) .fill-sub-mask1{will-change:transform;animation:1s linear infinite luzmo-fill-mask-1;transform:translateZ(0)}:host([indeterminate]) .fill-sub-mask2{will-change:transform;animation:1s linear infinite luzmo-fill-mask-2;transform:translateZ(0)}.fill-submask-2{animation:1s linear infinite luzmo-fill-mask-2}@keyframes luzmo-fill-mask-1{0%{transform:rotate(90deg)}1.69%{transform:rotate(72.3deg)}3.39%{transform:rotate(55.5deg)}5.08%{transform:rotate(40.3deg)}6.78%{transform:rotate(25deg)}8.47%{transform:rotate(10.6deg)}10.17%{transform:rotate(0)}11.86%{transform:rotate(0)}13.56%{transform:rotate(0)}15.25%{transform:rotate(0)}16.95%{transform:rotate(0)}18.64%{transform:rotate(0)}20.34%{transform:rotate(0)}22.03%{transform:rotate(0)}23.73%{transform:rotate(0)}25.42%{transform:rotate(0)}27.12%{transform:rotate(0)}28.81%{transform:rotate(0)}30.51%{transform:rotate(0)}32.2%{transform:rotate(0)}33.9%{transform:rotate(0)}35.59%{transform:rotate(0)}37.29%{transform:rotate(0)}38.98%{transform:rotate(0)}40.68%{transform:rotate(0)}42.37%{transform:rotate(5.3deg)}44.07%{transform:rotate(13.4deg)}45.76%{transform:rotate(20.6deg)}47.46%{transform:rotate(29deg)}49.15%{transform:rotate(36.5deg)}50.85%{transform:rotate(42.6deg)}52.54%{transform:rotate(48.8deg)}54.24%{transform:rotate(54.2deg)}55.93%{transform:rotate(59.4deg)}57.63%{transform:rotate(63.2deg)}59.32%{transform:rotate(67.2deg)}61.02%{transform:rotate(70.8deg)}62.71%{transform:rotate(73.8deg)}64.41%{transform:rotate(76.2deg)}66.1%{transform:rotate(78.7deg)}67.8%{transform:rotate(80.6deg)}69.49%{transform:rotate(82.6deg)}71.19%{transform:rotate(83.7deg)}72.88%{transform:rotate(85deg)}74.58%{transform:rotate(86.3deg)}76.27%{transform:rotate(87deg)}77.97%{transform:rotate(87.7deg)}79.66%{transform:rotate(88.3deg)}81.36%{transform:rotate(88.6deg)}83.05%{transform:rotate(89.2deg)}84.75%{transform:rotate(89.2deg)}86.44%{transform:rotate(89.5deg)}88.14%{transform:rotate(89.9deg)}89.83%{transform:rotate(89.7deg)}91.53%{transform:rotate(90.1deg)}93.22%{transform:rotate(90.2deg)}94.92%{transform:rotate(90.1deg)}96.61%{transform:rotate(90deg)}98.31%{transform:rotate(89.8deg)}to{transform:rotate(90deg)}}@keyframes luzmo-fill-mask-2{0%{transform:rotate(180deg)}1.69%{transform:rotate(180deg)}3.39%{transform:rotate(180deg)}5.08%{transform:rotate(180deg)}6.78%{transform:rotate(180deg)}8.47%{transform:rotate(180deg)}10.17%{transform:rotate(179.2deg)}11.86%{transform:rotate(164deg)}13.56%{transform:rotate(151.8deg)}15.25%{transform:rotate(140.8deg)}16.95%{transform:rotate(130.3deg)}18.64%{transform:rotate(120.4deg)}20.34%{transform:rotate(110.8deg)}22.03%{transform:rotate(101.6deg)}23.73%{transform:rotate(93.5deg)}25.42%{transform:rotate(85.4deg)}27.12%{transform:rotate(78.1deg)}28.81%{transform:rotate(71.2deg)}30.51%{transform:rotate(89.1deg)}32.2%{transform:rotate(105.5deg)}33.9%{transform:rotate(121.3deg)}35.59%{transform:rotate(135.5deg)}37.29%{transform:rotate(148.4deg)}38.98%{transform:rotate(161deg)}40.68%{transform:rotate(173.5deg)}42.37%{transform:rotate(180deg)}44.07%{transform:rotate(180deg)}45.76%{transform:rotate(180deg)}47.46%{transform:rotate(180deg)}49.15%{transform:rotate(180deg)}50.85%{transform:rotate(180deg)}52.54%{transform:rotate(180deg)}54.24%{transform:rotate(180deg)}55.93%{transform:rotate(180deg)}57.63%{transform:rotate(180deg)}59.32%{transform:rotate(180deg)}61.02%{transform:rotate(180deg)}62.71%{transform:rotate(180deg)}64.41%{transform:rotate(180deg)}66.1%{transform:rotate(180deg)}67.8%{transform:rotate(180deg)}69.49%{transform:rotate(180deg)}71.19%{transform:rotate(180deg)}72.88%{transform:rotate(180deg)}74.58%{transform:rotate(180deg)}76.27%{transform:rotate(180deg)}77.97%{transform:rotate(180deg)}79.66%{transform:rotate(180deg)}81.36%{transform:rotate(180deg)}83.05%{transform:rotate(180deg)}84.75%{transform:rotate(180deg)}86.44%{transform:rotate(180deg)}88.14%{transform:rotate(180deg)}89.83%{transform:rotate(180deg)}91.53%{transform:rotate(180deg)}93.22%{transform:rotate(180deg)}94.92%{transform:rotate(180deg)}96.61%{transform:rotate(180deg)}98.31%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes luzmo-fills-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host([size=s]){--progress-circle-size: 16px;--progress-circle-thickness: 2px}:host([size=l]){--progress-circle-size: 48px;--progress-circle-thickness: 3px}:host([size=xl]){--progress-circle-size: 64px;--progress-circle-thickness: 4px}:host{block-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));inline-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));--progress-circle-size: inherit;--parent-element-progress-circle-size: inherit;--parent-element-progress-circle-size: var(--progress-circle-size, 32px)}:host([size=s]){--parent-element-progress-circle-size: var(--progress-circle-size, 16px)}:host([size=l]){--parent-element-progress-circle-size: var(--progress-circle-size, 48px)}:host([size=xl]){--parent-element-progress-circle-size: var(--progress-circle-size, 64px)}slot{display:none}.track,.fill{block-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));border-radius:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size));inline-size:var(--luzmo-progress-circle-size, var(--parent-element-progress-circle-size))}:host([indeterminate]) .fills,:host([indeterminate]) .fill-sub-mask1,:host([indeterminate]) .fill-sub-mask2{animation-duration:var(--luzmo-progress-circle-animation-duration, 1s)}";var b=Object.defineProperty,l=(a,r,t,o)=>{for(var e=void 0,n=a.length-1,c;n>=0;n--)(c=a[n])&&(e=c(r,t,e)||e);return e&&b(r,t,e),e};class s extends f.SizedMixin(d.LuzmoElement,{validSizes:["s","m","l","xl"]}){constructor(){super(...arguments),this.indeterminate=!1,this.label="",this.progress=0}static get styles(){return[m.unsafeCSS(u)]}makeRotation(r){return this.indeterminate?void 0:`transform: rotate(${r}deg);`}render(){const r=[this.makeRotation(-180+3.6*Math.min(this.progress,50)),this.makeRotation(-180+3.6*Math.max(this.progress-50,0))],t=["mask1","mask2"];return m.html`
19
19
  <slot @slotchange=${this.handleSlotchange}></slot>
20
20
  <div class="track"></div>
21
21
  <div class="fills">
@@ -18,7 +18,7 @@
18
18
  import { unsafeCSS as f, html as c } from "lit";
19
19
  import { property as l, query as g } from "lit/decorators.js";
20
20
  import { ifDefined as d } from "lit/directives/if-defined.js";
21
- import { a as p } from "./base-CdYjmV_8.js";
21
+ import { a as p } from "./base-BUViEg_7.js";
22
22
  import { S as b } from "./sized-mixin-cJbo3PKR.js";
23
23
  const z = (s, r) => {
24
24
  if (s)
@@ -0,0 +1,222 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@luzmo/icons"),i=require("lit"),s=require("lit/decorators.js"),w=require("lit/directives/repeat.js"),E=require("../base-DxRGeCrb.cjs"),A=require("../sized-mixin-DcvJLFeo.cjs"),z=require("../voice-recorder-CAm5iDre.cjs");require("../action-button/index.cjs");require("../button/index.cjs");require("../icon/index.cjs");require("../tags/index.cjs");require("../text-field/index.cjs");const $=":host{display:flex;flex-direction:column;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)));width:100%}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity, var(--prompt-box-disabled-opacity));pointer-events:none}.container{display:flex;flex-direction:column;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}:host(:focus-visible) .container{border-color: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-visible) .container{border-color: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{display:flex;align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap, var(--prompt-box-top-actions-gap));flex-wrap:wrap;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}.top-actions.empty{display:none}.hidden-file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none}.attachments{display:flex;flex-direction:column;gap:var(--luzmo-prompt-box-attachments-gap, var(--prompt-box-attachments-gap, 8px))}.image-attachments{display:flex;flex-wrap:wrap;gap:var(--luzmo-prompt-box-image-attachments-gap, var(--prompt-box-image-attachments-gap, 8px))}.image-attachment{position:relative;display:inline-flex;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));overflow:hidden;background-color:var(--luzmo-prompt-box-image-background, var(--prompt-box-image-background, rgba(0, 0, 0, .05)))}.image-preview{width:100%;height:100%;object-fit:cover}.attachment-remove{position:absolute;top:4px;right:4px;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, rgba(0, 0, 0, .5)));border-radius:50%;--luzmo-clear-button-icon-color: var( --luzmo-prompt-box-remove-button-icon-color, var(--prompt-box-remove-button-icon-color, #fff) )}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover, var(--prompt-box-remove-button-background-hover, rgba(0, 0, 0, .7)))}.file-attachments{--luzmo-tag-border-radius: 16px;display:flex;flex-wrap:wrap;gap:var(--luzmo-prompt-box-file-attachments-gap, var(--prompt-box-file-attachments-gap, 4px))}.file-attachment{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-wrapper{position:relative;display:flex;flex:1}.input-field{flex:1;width:100%;min-width:0;--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) )}.actions-row{display:flex;align-items:center;justify-content:space-between;gap:var(--luzmo-prompt-box-actions-gap, var(--prompt-box-actions-gap))}.bottom-actions{display:flex;align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap, var(--prompt-box-bottom-actions-gap));flex-wrap:wrap;flex:1;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}.button-group{display:flex;align-items:center;gap:var(--luzmo-prompt-box-button-group-gap, var(--prompt-box-button-group-gap));margin-left:auto}.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{display:flex;align-items:center;gap:var(--luzmo-prompt-box-recording-gap, var(--prompt-box-recording-gap))}.waveform{display:flex;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}.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)));min-height:4px;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));transition:height .05s ease-out;animation:waveform-pulse 1s ease-in-out infinite}.waveform-bar:nth-child(1){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}::slotted([slot=top-actions]){display:inline-flex;align-items:center}::slotted([slot=bottom-actions]){display:inline-flex;align-items:center}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){display:inline-flex;margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start, var(--prompt-box-submit-button-margin-inline-start))}@media (forced-colors: active){:host{--highcontrast-prompt-box-background-color: Canvas;--highcontrast-prompt-box-border-color: CanvasText;--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-placeholder-color: var(--luzmo-font-color-extra-dimmed);--prompt-box-placeholder-opacity: 1;--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: rgba(0, 0, 0, .05);--prompt-box-remove-button-size: 20px;--prompt-box-remove-button-background: rgba(0, 0, 0, .5);--prompt-box-remove-button-background-hover: rgba(0, 0, 0, .7);--prompt-box-remove-button-icon-color: #fff}: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}: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}: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}:host([pending]){--prompt-box-actions-opacity: .75}";var C=Object.defineProperty,l=(_,t,e,o)=>{for(var n=void 0,r=_.length-1,p;r>=0;r--)(p=_[r])&&(n=p(t,e,n)||n);return n&&C(t,e,n),n};let v=!1;typeof window<"u"&&(document.addEventListener("keydown",()=>{v=!0},!0),document.addEventListener("mousedown",()=>{v=!1},!0),document.addEventListener("pointerdown",()=>{v=!1},!0));var u;const a=(u=class extends A.SizedMixin(E.LuzmoElement,{validSizes:["xs","s","m","l","xl"],defaultSize:"m"}){constructor(){super(...arguments),this.rows=1,this.grows=!1,this.recording=!1,this.hideSubmit=!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._hasTopActions=!1,this._hasBottomActions=!1,this._hasRecordButton=!1,this._hasSubmitButton=!1,this._attachments=[],this._isRecording=!1,this._recordingDuration=0,this._audioLevel=0,this._voiceRecorder=null,this._shouldFocusFinishButton=!1,this._attachmentIdCounter=0,this._handleHostFocus=()=>{v&&this.classList.add("focus-visible")},this._handleHostBlur=()=>{this.classList.remove("focus-visible")},this._handlePaste=t=>{var n;if(!this.allowImages||this.disabled||this.readonly||this.pending)return;const e=(n=t.clipboardData)==null?void 0:n.items;if(!e)return;const o=[];for(const r of e)if(r.type.startsWith("image/")){const p=r.getAsFile();p&&o.push(p)}o.length>0&&this.addFiles(o)}}static get styles(){return[i.unsafeCSS($)]}get _tagSize(){switch(this.size){case"s":case"m":return"s";case"l":case"xl":return"m";default:return"s"}}connectedCallback(){super.connectedCallback(),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.addEventListener("focus",this._handleHostFocus),this.addEventListener("blur",this._handleHostBlur),this.addEventListener("paste",this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this._handleHostFocus),this.removeEventListener("blur",this._handleHostBlur),this.removeEventListener("paste",this._handlePaste),this._revokeAllPreviewUrls(),this._destroyVoiceRecorder()}_revokeAllPreviewUrls(){for(const t of this._attachments)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}_handleTopActionsSlotChange(t){const e=t.target;this._hasTopActions=e.assignedNodes().length>0}_handleBottomActionsSlotChange(t){const e=t.target;this._hasBottomActions=e.assignedNodes().length>0}_handleRecordButtonSlotChange(t){const e=t.target;this._hasRecordButton=e.assignedNodes().length>0}_handleSubmitButtonSlotChange(t){const e=t.target;this._hasSubmitButton=e.assignedNodes().length>0}_handleInput(t){const e=t.target;this.value=e.value,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))}_handleKeydown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this._submit())}_handleFileInputChange(t){const e=t.target,o=e.files;o&&o.length>0&&this.addFiles([...o]),e.value=""}_isFileTypeAccepted(t){if(this.acceptedFileTypes.length===0)return!0;const e=t.name.toLowerCase(),o=t.type.toLowerCase();for(const n of this.acceptedFileTypes){const r=n.toLowerCase();if(r.endsWith("/*")){const p=r.slice(0,-2);if(o.startsWith(p+"/"))return!0}else{if(o===r)return!0;if(r.startsWith(".")&&e.endsWith(r))return!0}}return!1}_isImageFile(t){return t.type.startsWith("image/")}_generateAttachmentId(){return`attachment-${++this._attachmentIdCounter}-${Date.now()}`}addFiles(t){if(this.disabled||this.readonly||this.pending)return[];const e=[];for(const o of t){if(this._isImageFile(o)&&!this.allowImages||!this._isImageFile(o)&&!this.allowFiles||!this._isFileTypeAccepted(o))continue;const n=this._generateAttachmentId(),r={file:o,id:n};this._isImageFile(o)&&(r.previewUrl=URL.createObjectURL(o)),this._attachments=[...this._attachments,r],e.push(n)}return e.length>0&&this.dispatchEvent(new CustomEvent("luzmo-attachments-change",{bubbles:!0,composed:!0,detail:{attachments:this._attachments}})),e}removeAttachment(t){const e=this._attachments.find(o=>o.id===t);e&&(e.previewUrl&&URL.revokeObjectURL(e.previewUrl),this._attachments=this._attachments.filter(o=>o.id!==t),this.dispatchEvent(new CustomEvent("luzmo-attachments-change",{bubbles:!0,composed:!0,detail:{attachments:this._attachments}})))}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this.dispatchEvent(new CustomEvent("luzmo-attachments-change",{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}getAttachments(){return[...this._attachments]}openFilePicker(){var t;(t=this._fileInput)==null||t.click()}_handleRemoveAttachment(t){const o=t.currentTarget.dataset.attachmentId;o&&this.removeAttachment(o)}_handleTagDelete(t){const o=t.target.dataset.attachmentId;o&&(t.preventDefault(),this.removeAttachment(o))}_extractActionValues(t){const e=[];for(const o of t){const n=this._getInteractiveElements(o);for(const r of n){const p={element:r,name:r.getAttribute("name")||r.getAttribute("label")||void 0},m=["luzmo-switch","luzmo-checkbox","luzmo-radio"],d=r.tagName.toLowerCase();"value"in r&&(p.value=r.value),m.includes(d)&&"checked"in r&&(p.checked=r.checked),e.push(p)}}return e}_submit(){var m,d;if(this.disabled||this.readonly||this.pending)return;const t=(m=this.shadowRoot)==null?void 0:m.querySelector('slot[name="top-actions"]'),e=(d=this.shadowRoot)==null?void 0:d.querySelector('slot[name="bottom-actions"]'),o=(t==null?void 0:t.assignedElements())??[],n=(e==null?void 0:e.assignedElements())??[],r=this._extractActionValues([...o,...n]),p={value:this.value,topActions:[...o],bottomActions:[...n],actionValues:r,attachments:[...this._attachments]};this.dispatchEvent(new CustomEvent("luzmo-submit",{bubbles:!0,composed:!0,detail:p}))}async _handleRecordClick(t){if(!z.VoiceRecorder.isSupported()){this.dispatchEvent(new CustomEvent("luzmo-record-error",{bubbles:!0,composed:!0,detail:{error:"Voice recording is not supported in this browser"}}));return}if(this._isRecording)this._stopRecording();else{const e=t.currentTarget;this._shouldFocusFinishButton=e.matches(":focus-visible"),await this._startRecording()}this.dispatchEvent(new CustomEvent("luzmo-record",{bubbles:!0,composed:!0,detail:{isRecording:this._isRecording}}))}async _startRecording(){if(this._initVoiceRecorder(),!this._voiceRecorder)return;await this._voiceRecorder.startRecording()&&(this._isRecording=!0,this._recordingDuration=0,this._audioLevel=0)}_stopRecording(){this._voiceRecorder&&this._voiceRecorder.stopRecording()}_cancelRecording(){this._voiceRecorder&&this._voiceRecorder.cancelRecording(),this._isRecording=!1,this._recordingDuration=0,this._audioLevel=0}_handleCancelRecordClick(){this._cancelRecording(),this.dispatchEvent(new CustomEvent("luzmo-record-cancel",{bubbles:!0,composed:!0}))}_initVoiceRecorder(){this._voiceRecorder||(this._voiceRecorder=new z.VoiceRecorder({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this._isRecording=!0}).onStop(t=>{this._isRecording=!1,this._recordingDuration=0,this._audioLevel=0,this.dispatchEvent(new CustomEvent("luzmo-recording-complete",{bubbles:!0,composed:!0,detail:{audioBlob:t.audioBlob,duration:t.duration,mimeType:t.mimeType}}))}).onError(t=>{this._isRecording=!1,this._recordingDuration=0,this._audioLevel=0,this.dispatchEvent(new CustomEvent("luzmo-record-error",{bubbles:!0,composed:!0,detail:{error:t}}))}).onAudioLevel(t=>{this._audioLevel=t}).onDurationUpdate(t=>{this._recordingDuration=t}))}_destroyVoiceRecorder(){this._voiceRecorder&&(this._voiceRecorder.destroy(),this._voiceRecorder=null),this._isRecording=!1,this._recordingDuration=0,this._audioLevel=0}_formatRecordingDuration(){return z.VoiceRecorder.formatDuration(this._recordingDuration)}focus(){var t;(t=this._inputElement)==null||t.focus()}clear(){this.value="",this.clearAttachments()}getTopActions(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector('slot[name="top-actions"]');return(t==null?void 0:t.assignedElements())??[]}getBottomActions(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector('slot[name="bottom-actions"]');return(t==null?void 0:t.assignedElements())??[]}updated(t){super.updated(t),(t.has("pending")||t.has("disabled"))&&this._updateSlottedElementsState(),this._shouldFocusFinishButton&&this._isRecording&&(this._shouldFocusFinishButton=!1,requestAnimationFrame(()=>{var e;(e=this._finishRecordingButton)==null||e.focus()}))}_getInteractiveElements(t){const e=[];t.matches(u.INTERACTIVE_ELEMENTS_SELECTOR)&&e.push(t);const o=t.querySelectorAll(u.INTERACTIVE_ELEMENTS_SELECTOR);return e.push(...o),e}_updateSlottedElementsState(){var m,d,b,y;const t=(m=this.shadowRoot)==null?void 0:m.querySelector('slot[name="submit-button"]'),e=(t==null?void 0:t.assignedElements())??[];for(const x of e){const f=this._getInteractiveElements(x);for(const c of f)this.pending?(c.setAttribute("pending",""),c.removeAttribute("disabled"),c.removeAttribute("readonly")):this.disabled?(c.removeAttribute("pending"),c.setAttribute("disabled",""),c.removeAttribute("readonly")):(c.removeAttribute("pending"),c.removeAttribute("disabled"),c.removeAttribute("readonly"))}const o=x=>{for(const f of x){const c=this._getInteractiveElements(f);for(const h of c)this.disabled?(h.setAttribute("disabled",""),h.removeAttribute("readonly")):this.pending?(h.removeAttribute("disabled"),h.setAttribute("readonly","")):(h.removeAttribute("disabled"),h.removeAttribute("readonly"))}},n=(d=this.shadowRoot)==null?void 0:d.querySelector('slot[name="top-actions"]');o((n==null?void 0:n.assignedElements())??[]);const r=(b=this.shadowRoot)==null?void 0:b.querySelector('slot[name="bottom-actions"]');o((r==null?void 0:r.assignedElements())??[]);const p=(y=this.shadowRoot)==null?void 0:y.querySelector('slot[name="record-button"]');o((p==null?void 0:p.assignedElements())??[])}renderTopActions(){return i.html`
19
+ <div
20
+ class="top-actions ${this._hasTopActions?"":"empty"}"
21
+ part="top-actions"
22
+ >
23
+ <slot
24
+ name="top-actions"
25
+ @slotchange=${this._handleTopActionsSlotChange}
26
+ ></slot>
27
+ </div>
28
+ `}renderBottomActions(){return i.html`
29
+ <div
30
+ class="bottom-actions ${this._hasBottomActions?"":"empty"}"
31
+ part="bottom-actions"
32
+ >
33
+ <slot
34
+ name="bottom-actions"
35
+ @slotchange=${this._handleBottomActionsSlotChange}
36
+ ></slot>
37
+ </div>
38
+ `}renderRecordButton(){return!this.recording&&!this._hasRecordButton?i.html`<slot
39
+ name="record-button"
40
+ @slotchange=${this._handleRecordButtonSlotChange}
41
+ ></slot>`:this._hasRecordButton?i.html`<slot
42
+ name="record-button"
43
+ @slotchange=${this._handleRecordButtonSlotChange}
44
+ ></slot>`:this._isRecording?i.html`
45
+ <slot
46
+ name="record-button"
47
+ @slotchange=${this._handleRecordButtonSlotChange}
48
+ ></slot>
49
+ <div class="recording-ui" part="recording-ui">
50
+ <luzmo-action-button
51
+ class="cancel-recording-button"
52
+ part="cancel-recording-button"
53
+ .size=${this.size}
54
+ ?disabled=${this.disabled}
55
+ @click=${this._handleCancelRecordClick}
56
+ aria-label="Cancel recording"
57
+ >
58
+ <luzmo-icon
59
+ slot="icon"
60
+ .icon=${g.luzmoClear}
61
+ .size=${this.size}
62
+ ></luzmo-icon>
63
+ </luzmo-action-button>
64
+ ${this.renderWaveform()}
65
+ <span class="recording-duration" part="recording-duration">
66
+ ${this._formatRecordingDuration()}
67
+ </span>
68
+ <luzmo-button
69
+ class="finish-recording-button"
70
+ part="finish-recording-button"
71
+ .size=${this.size}
72
+ icon-only
73
+ variant="primary"
74
+ ?disabled=${this.disabled}
75
+ @click=${this._handleRecordClick}
76
+ aria-label="Finish recording"
77
+ >
78
+ <luzmo-icon slot="icon" .icon=${g.luzmoCheck}></luzmo-icon>
79
+ </luzmo-button>
80
+ </div>
81
+ `:i.html`
82
+ <slot
83
+ name="record-button"
84
+ @slotchange=${this._handleRecordButtonSlotChange}
85
+ ></slot>
86
+ <luzmo-action-button
87
+ class="record-button"
88
+ part="record-button"
89
+ quiet
90
+ .size=${this.size}
91
+ ?disabled=${this.disabled}
92
+ ?readonly=${this.pending}
93
+ @click=${this._handleRecordClick}
94
+ aria-label="Record"
95
+ >
96
+ <luzmo-icon
97
+ slot="icon"
98
+ .icon=${g.luzmoMicrophone}
99
+ .size=${this.size}
100
+ ></luzmo-icon>
101
+ </luzmo-action-button>
102
+ `}renderWaveform(){const e=[];for(let o=0;o<5;o++){const r=Math.floor(2.5),m=1-Math.abs(o-r)*.15,d=.3+this._audioLevel*.7*m,b=Math.max(.2,Math.min(1,d));e.push(i.html`
103
+ <span
104
+ class="waveform-bar"
105
+ style="--bar-height: ${b}"
106
+ ></span>
107
+ `)}return i.html`
108
+ <div class="waveform" part="waveform" aria-hidden="true">${e}</div>
109
+ `}renderSubmitButton(){return this._isRecording?i.html`<slot
110
+ name="submit-button"
111
+ @slotchange=${this._handleSubmitButtonSlotChange}
112
+ ></slot>`:this.hideSubmit&&!this._hasSubmitButton?i.html`<slot
113
+ name="submit-button"
114
+ @slotchange=${this._handleSubmitButtonSlotChange}
115
+ ></slot>`:this._hasSubmitButton?i.html`<slot
116
+ name="submit-button"
117
+ @slotchange=${this._handleSubmitButtonSlotChange}
118
+ ></slot>`:i.html`
119
+ <slot
120
+ name="submit-button"
121
+ @slotchange=${this._handleSubmitButtonSlotChange}
122
+ ></slot>
123
+ <luzmo-button
124
+ class="submit-button"
125
+ part="submit-button"
126
+ .size=${this.size}
127
+ icon-only
128
+ variant="primary"
129
+ ?disabled=${this.disabled||!this.pending&&!this.value.trim()}
130
+ ?pending=${this.pending}
131
+ @click=${this._submit}
132
+ aria-label="Submit"
133
+ >
134
+ <luzmo-icon slot="icon" .icon=${g.luzmoArrowUp}></luzmo-icon>
135
+ </luzmo-button>
136
+ `}renderTextarea(){return i.html`
137
+ <luzmo-text-field
138
+ class="input-field"
139
+ part="input"
140
+ placeholder=${this.placeholder}
141
+ .value=${this.value}
142
+ .size=${this.size}
143
+ rows=${this.rows}
144
+ ?grows=${this.grows}
145
+ ?readonly=${this.readonly||this.pending||this.disabled}
146
+ maxlength=${this.maxlength>0?this.maxlength:-1}
147
+ multiline
148
+ quiet
149
+ label=${this.placeholder||"Enter your message"}
150
+ @input=${this._handleInput}
151
+ @keydown=${this._handleKeydown}
152
+ ></luzmo-text-field>
153
+ `}_getAcceptAttribute(){if(this.acceptedFileTypes.length>0)return this.acceptedFileTypes.join(",");const t=[];return this.allowImages&&t.push("image/*"),this.allowFiles&&t.push("*/*"),t.join(",")}renderHiddenFileInput(){return!this.allowImages&&!this.allowFiles?i.nothing:i.html`
154
+ <input
155
+ type="file"
156
+ class="hidden-file-input"
157
+ accept=${this._getAcceptAttribute()}
158
+ multiple
159
+ @change=${this._handleFileInputChange}
160
+ aria-hidden="true"
161
+ tabindex="-1"
162
+ />
163
+ `}renderImageAttachment(t){return i.html`
164
+ <div class="image-attachment" part="image-attachment">
165
+ <img
166
+ src=${t.previewUrl||""}
167
+ alt=${t.file.name}
168
+ class="image-preview"
169
+ />
170
+ <luzmo-clear-button
171
+ class="attachment-remove"
172
+ .size=${this.size}
173
+ ?disabled=${this.disabled||this.pending}
174
+ label="Remove ${t.file.name}"
175
+ data-attachment-id=${t.id}
176
+ @click=${this._handleRemoveAttachment}
177
+ ></luzmo-clear-button>
178
+ </div>
179
+ `}renderFileAttachment(t){return i.html`
180
+ <luzmo-tag
181
+ class="file-attachment"
182
+ part="file-attachment"
183
+ .size=${this._tagSize}
184
+ deletable
185
+ ?disabled=${this.disabled||this.pending}
186
+ data-attachment-id=${t.id}
187
+ @delete=${this._handleTagDelete}
188
+ >
189
+ ${t.file.name}
190
+ </luzmo-tag>
191
+ `}renderAttachments(){if(this._attachments.length===0)return i.nothing;const t=this._attachments.filter(o=>this._isImageFile(o.file)),e=this._attachments.filter(o=>!this._isImageFile(o.file));return i.html`
192
+ <div class="attachments" part="attachments">
193
+ ${t.length>0?i.html`
194
+ <div class="image-attachments" part="image-attachments">
195
+ ${w.repeat(t,o=>o.id,o=>this.renderImageAttachment(o))}
196
+ </div>
197
+ `:i.nothing}
198
+ ${e.length>0?i.html`
199
+ <luzmo-tags
200
+ class="file-attachments"
201
+ part="file-attachments"
202
+ .size=${this._tagSize}
203
+ >
204
+ ${w.repeat(e,o=>o.id,o=>this.renderFileAttachment(o))}
205
+ </luzmo-tags>
206
+ `:i.nothing}
207
+ </div>
208
+ `}render(){return i.html`
209
+ ${this.renderHiddenFileInput()}
210
+ <div class="container" part="container">
211
+ ${this.renderTopActions()} ${this.renderAttachments()}
212
+ <div class="input-wrapper" part="input-wrapper">
213
+ ${this.renderTextarea()}
214
+ </div>
215
+ <div class="actions-row" part="actions-row">
216
+ ${this.renderBottomActions()}
217
+ <div class="button-group" part="button-group">
218
+ ${this.renderRecordButton()} ${this.renderSubmitButton()}
219
+ </div>
220
+ </div>
221
+ </div>
222
+ `}},u.INTERACTIVE_ELEMENTS_SELECTOR="luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field",u);l([s.property({type:Number})],a.prototype,"rows");l([s.property({type:Boolean,reflect:!0})],a.prototype,"grows");l([s.property({type:Boolean,reflect:!0})],a.prototype,"recording");l([s.property({type:Boolean,reflect:!0,attribute:"hide-submit"})],a.prototype,"hideSubmit");l([s.property({type:String})],a.prototype,"placeholder");l([s.property({type:String})],a.prototype,"value");l([s.property({type:Boolean,reflect:!0})],a.prototype,"disabled");l([s.property({type:Boolean,reflect:!0})],a.prototype,"readonly");l([s.property({type:Number})],a.prototype,"maxlength");l([s.property({type:Boolean,reflect:!0})],a.prototype,"pending");l([s.property({type:Boolean,reflect:!0,attribute:"allow-images"})],a.prototype,"allowImages");l([s.property({type:Boolean,reflect:!0,attribute:"allow-files"})],a.prototype,"allowFiles");l([s.property({type:Array,attribute:"accepted-file-types"})],a.prototype,"acceptedFileTypes");l([s.state()],a.prototype,"_hasTopActions");l([s.state()],a.prototype,"_hasBottomActions");l([s.state()],a.prototype,"_hasRecordButton");l([s.state()],a.prototype,"_hasSubmitButton");l([s.state()],a.prototype,"_attachments");l([s.state()],a.prototype,"_isRecording");l([s.state()],a.prototype,"_recordingDuration");l([s.state()],a.prototype,"_audioLevel");l([s.query("luzmo-text-field")],a.prototype,"_inputElement");l([s.query('input[type="file"]')],a.prototype,"_fileInput");l([s.query(".finish-recording-button")],a.prototype,"_finishRecordingButton");let R=a;customElements.get("luzmo-prompt-box")||customElements.define("luzmo-prompt-box",R);exports.LuzmoPromptBox=R;