@luzmo/lucero 2.3.0-beta.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/components/action-menu/index.cjs +1 -1
  2. package/components/action-menu/index.js +1 -1
  3. package/components/{action-menu-De9S9nlo.js → action-menu-C0sHNsjG.js} +2 -2
  4. package/components/{action-menu-D3L0k49M.cjs → action-menu-CwzRbF61.cjs} +1 -1
  5. package/components/chat-message/index.cjs +1 -1
  6. package/components/chat-message/index.js +1 -1
  7. package/components/chat-message-Dgo6h0rD.cjs +148 -0
  8. package/components/{chat-message-D6U-sprD.js → chat-message-T6QIK2Bl.js} +526 -562
  9. package/components/color-picker/index.cjs +1 -1
  10. package/components/color-picker/index.js +1 -1
  11. package/components/{color-picker-CRokyPy-.cjs → color-picker-BAikpqUT.cjs} +1 -1
  12. package/components/{color-picker-C2kni9Zo.js → color-picker-CSuAPo5X.js} +1 -1
  13. package/components/date-range-picker/index.cjs +1 -1
  14. package/components/date-range-picker/index.js +1 -1
  15. package/components/{date-range-picker-Dfn3MnfA.cjs → date-range-picker-D149LIGC.cjs} +1 -1
  16. package/components/{date-range-picker-CVRHT56i.js → date-range-picker-DKVmGpUC.js} +1 -1
  17. package/components/date-time-picker/index.cjs +1 -1
  18. package/components/date-time-picker/index.js +1 -1
  19. package/components/{date-time-picker-C4oIN9Of.js → date-time-picker-6c19YzwF.js} +1 -1
  20. package/components/{date-time-picker-DYT04Zyv.cjs → date-time-picker-CRpvRk9T.cjs} +1 -1
  21. package/components/index.cjs +1 -1
  22. package/components/index.js +24 -24
  23. package/components/overlay/index.cjs +1 -1
  24. package/components/overlay/index.js +1 -1
  25. package/components/overlay/placement-controller.d.ts +2 -1
  26. package/components/{overlay-4YVoQOyd.cjs → overlay-Dn7EbA_W.cjs} +1 -1
  27. package/components/{overlay-BvMcppFH.js → overlay-DpHIYJtd.js} +2 -2
  28. package/components/picker/index.cjs +1 -1
  29. package/components/picker/index.js +1 -1
  30. package/components/{picker-DKFG8i-B.cjs → picker-BliQJlY_.cjs} +1 -1
  31. package/components/{picker-DKAbXYoQ.js → picker-D0fMBZLb.js} +1 -1
  32. package/components/progress-steps/index.cjs +1 -1
  33. package/components/progress-steps/index.d.ts +2 -1
  34. package/components/progress-steps/index.js +2 -2
  35. package/components/progress-steps/progress-steps-model.d.ts +23 -0
  36. package/components/progress-steps/progress-steps.d.ts +95 -109
  37. package/components/progress-steps/types.d.ts +18 -3
  38. package/components/progress-steps-BIbj8x8S.js +383 -0
  39. package/components/progress-steps-upJp8wl3.cjs +98 -0
  40. package/components/prompt-box/index.cjs +1 -1
  41. package/components/prompt-box/index.js +1 -1
  42. package/components/{prompt-box-CAEo3tqw.js → prompt-box-Cz_m2wso.js} +1 -1
  43. package/components/{prompt-box-DfWfrlF6.cjs → prompt-box-sp9_-Hnx.cjs} +1 -1
  44. package/components/select/index.cjs +1 -1
  45. package/components/select/index.js +1 -1
  46. package/components/{select-CAst7yfM.js → select-BUgHi69P.js} +1 -1
  47. package/components/{select-DkvHL37E.cjs → select-DsGVB01K.cjs} +1 -1
  48. package/custom-elements.json +1 -1
  49. package/package.json +1 -1
  50. package/standalone/accordion.js +1 -1
  51. package/standalone/action-bar.js +1 -1
  52. package/standalone/action-button.js +1 -1
  53. package/standalone/action-menu.js +1 -1
  54. package/standalone/avatar.js +1 -1
  55. package/standalone/calendar.js +1 -1
  56. package/standalone/chat-message.js +27 -27
  57. package/standalone/checkbox.js +1 -1
  58. package/standalone/chunks/{action-button-DCt8NsDy.js → action-button-BzzPBqt5.js} +1 -1
  59. package/standalone/chunks/{button-UUPI5TRz.js → button-Dykw3TSO.js} +1 -1
  60. package/standalone/chunks/{calendar-rx4pQ28E.js → calendar-ZwUYkzVq.js} +1 -1
  61. package/standalone/chunks/{checkbox-Dz-0cBEf.js → checkbox-OQtakoP8.js} +1 -1
  62. package/standalone/chunks/{clear-button-DAHm73iN.js → clear-button-pVGfwye8.js} +1 -1
  63. package/standalone/chunks/{close-button-DB1Q3IfL.js → close-button-RpPiwBdf.js} +1 -1
  64. package/standalone/chunks/{color-field-BQ4y3biw.js → color-field-CrCF4kqZ.js} +1 -1
  65. package/standalone/chunks/{color-menu-DRO2lf0w.js → color-menu-B5UOMYmX.js} +1 -1
  66. package/standalone/chunks/{icon-Csu47YgC.js → icon-Dy6J1QeX.js} +1 -1
  67. package/standalone/chunks/keyed-CNWmQd2J.js +2 -0
  68. package/standalone/chunks/{luzmo-icons-BKu82bUU.js → luzmo-icons-CJa-aByT.js} +2 -2
  69. package/standalone/chunks/{menu-CVdQKzxC.js → menu-nolJetlp.js} +1 -1
  70. package/standalone/chunks/{number-field-BWvsvU01.js → number-field-C3DYfl1s.js} +1 -1
  71. package/standalone/chunks/{options-DzlW2-9n.js → options-BjRSj630.js} +5 -5
  72. package/standalone/chunks/{overlay-I_DOZNsB.js → overlay-C4ir0iyC.js} +1 -1
  73. package/standalone/chunks/{overlay-COmLsmL3.js → overlay-C_XW8yry.js} +1 -1
  74. package/standalone/chunks/{picker-button-D22V8uCk.js → picker-button-BeXTIgUt.js} +1 -1
  75. package/standalone/chunks/{picker-DGOvxfUV.js → picker-hbMQOkUX.js} +1 -1
  76. package/standalone/chunks/{segments-factory-Bj8uOVOG.js → segments-factory-Ch3AAizU.js} +1 -1
  77. package/standalone/chunks/{swatch-B-lwyWNi.js → swatch-m_4GcO2_.js} +1 -1
  78. package/standalone/chunks/{text-field-DgyP9fxu.js → text-field-BnZtyodU.js} +1 -1
  79. package/standalone/chunks/{text-field-BWZK7Km7.js → text-field-BrlDeJsx.js} +1 -1
  80. package/standalone/clear-button.js +1 -1
  81. package/standalone/close-button.js +1 -1
  82. package/standalone/color-field.js +1 -1
  83. package/standalone/color-menu.js +1 -1
  84. package/standalone/color-picker.js +1 -1
  85. package/standalone/date-range-picker.js +1 -1
  86. package/standalone/date-time-picker.js +1 -1
  87. package/standalone/icon.js +1 -1
  88. package/standalone/lit.js +1 -1
  89. package/standalone/manifest.json +22 -21
  90. package/standalone/menu.js +1 -1
  91. package/standalone/multi-language-field.js +1 -1
  92. package/standalone/notice.js +1 -1
  93. package/standalone/number-field.js +1 -1
  94. package/standalone/options.js +1 -1
  95. package/standalone/overlay.js +1 -1
  96. package/standalone/picker-button.js +1 -1
  97. package/standalone/picker.js +1 -1
  98. package/standalone/progress-steps.js +79 -77
  99. package/standalone/prompt-box.js +9 -9
  100. package/standalone/question-box.js +1 -1
  101. package/standalone/search.js +1 -1
  102. package/standalone/select.js +1 -1
  103. package/standalone/slider.js +1 -1
  104. package/standalone/swatch.js +1 -1
  105. package/standalone/tabs.js +1 -1
  106. package/standalone/tags.js +1 -1
  107. package/standalone/text-field.js +1 -1
  108. package/standalone/toast.js +1 -1
  109. package/components/chat-message-BDfomRm-.cjs +0 -148
  110. package/components/progress-steps-9tRZ0dxp.cjs +0 -96
  111. package/components/progress-steps-CX9mnyHH.js +0 -263
@@ -17,9 +17,9 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,g as i,l as a,u as o,v as s,y as c}from"./chunks/lucero-runtime-DGJ9-isg.js";import{N as l,O as u,P as d,S as f,c as p,h as m,k as h,r as ee,v as te,w as g,y as _}from"./chunks/luzmo-icons-BKu82bUU.js";import"./chunks/icon-Csu47YgC.js";import"./chunks/action-button-DCt8NsDy.js";import{p as v}from"./chunks/overlay-I_DOZNsB.js";import"./chunks/overlay-COmLsmL3.js";import"./chunks/text-field-DgyP9fxu.js";import"./chunks/clear-button-DAHm73iN.js";import"./chunks/button-UUPI5TRz.js";import"./chunks/skeleton-loader-BxYcRRJr.js";import{t as y}from"./chunks/voice-recorder--d34tYNu.js";var ne=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}setAttachmentLoading(e,t){let n=this._attachments.findIndex(t=>t.id===e);if(n===-1)return;let r=this._attachments[n];!!r.loading!==t&&(this._attachments=[...this._attachments.slice(0,n),{...r,loading:t},...this._attachments.slice(n+1)],this._dispatchChange(),this._host.requestUpdate())}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this._dispatchChange(),this._host.requestUpdate()}getAttachments(){return[...this._attachments]}handlePastedImages(e){if(!this._host.allowImages||this._host.disabled||this._host.readonly||this._host.pending||!e)return!1;let t=[];for(let n of e.items)if(n.type.startsWith(`image/`)){let e=n.getAsFile();e&&t.push(e)}return t.length>0?(this.addFiles(t),!0):!1}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},b=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!y.isSupported()){this._host.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.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return y.formatDuration(this.duration)}static isSupported(){return y.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new y({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function x(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function S(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function C(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=x(e,i),s=S(o,n,r),c=x(e,a),l=S(c,n,r);return l<s&&(o=c,s=l),{range:o,distSq:s}}function re(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=C(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,l=x(e,o),u=x(e,o+1),d=t<c?l:u,f=n-(r.top+r.height/2),p=t<c?t-r.left:t-r.right,m=p*p+f*f;m<a&&(a=m,i=d)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function w(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=x(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=x(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=re(t,n,r,i)),a}function T(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function E(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function D(e){return e===` `||e===`
21
- `||e===`\xA0`}function O(e){let t=T(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return D(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0||D(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0||D(t.at(-1)??``)}}return!1}function ie(e,t){let n=T(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function ae(e,t){let n=T(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function k(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);E(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function oe(e,t,n,r){let i=T(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),E(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),E(s,n);return}}}var A=`application/x-luzmo-element`,j=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=T(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(A);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?w(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),k(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),k(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return T(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=T(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
22
- `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=w(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=w(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},M=class{constructor(e){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=()=>{this.close()},this.handleOverlayKeydown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.close(),this.richInputElement?.focus())},this.handlePointerMove=()=>{this.pointerMovedSinceKeyNav=!0},this._handleTriggerSelect=e=>{if(!this.activeTrigger)return;let{elementType:t,label:n,data:r,icon:i}=e.detail;this.selectOption({label:n,value:n,data:r,icon:i,elementType:t})},this._handleDocumentPointerDown=e=>{let t=e.composedPath(),n=this._host.shadowRoot?.querySelector(`luzmo-overlay[part="trigger-menu-overlay"]`);n&&t.includes(n)||this.richInputElement&&t.includes(this.richInputElement)||(this.close(),this.richInputElement?.focus())},this._host=e,e.addController(this)}hostConnected(){this._host.addEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}hostDisconnected(){document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0),this._host.removeEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}get triggers(){return this._triggers}set triggers(e){this._triggers=e,this.activeTrigger&&this._updateFilteredOptions()}get activeConfig(){if(this.activeTrigger)return this._triggers.find(e=>e.key===this.activeTrigger)}get hasTriggers(){return this._triggers.length>0}getSlotName(e){return this._triggers.find(t=>t.key===e)?.slotName}get allSlotNames(){return this._triggers.map(e=>e.slotName).filter(e=>!!e)}handleInput(e){if(this.activeTrigger){let e=ae(this._host.shadowRoot,this.activeTrigger)??this._extractTriggerSearchFromContent(this.activeTrigger);e===null?this.close():(this.searchString=e,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1),this._dispatchChange(!0),this._host.requestUpdate(),document.dispatchEvent(new Event(`luzmo-update-overlays`)))}else this._detectTrigger(e)}open(e){if(!this._triggers.find(t=>t.key===e))return;let t=ie(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let n=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,n):this.virtualElement=new v(t.x,t.y,n),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||O(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,g as i,l as a,u as o,v as s,y as c}from"./chunks/lucero-runtime-DGJ9-isg.js";import{D as l,M as u,N as d,O as f,S as p,c as m,h,r as ee,v as te,w as g,y as _}from"./chunks/luzmo-icons-CJa-aByT.js";import"./chunks/icon-Dy6J1QeX.js";import"./chunks/action-button-BzzPBqt5.js";import{p as v}from"./chunks/overlay-C4ir0iyC.js";import"./chunks/overlay-C_XW8yry.js";import"./chunks/text-field-BnZtyodU.js";import"./chunks/clear-button-pVGfwye8.js";import"./chunks/button-Dykw3TSO.js";import"./chunks/skeleton-loader-BxYcRRJr.js";import{t as y}from"./chunks/voice-recorder--d34tYNu.js";var ne=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}setAttachmentLoading(e,t){let n=this._attachments.findIndex(t=>t.id===e);if(n===-1)return;let r=this._attachments[n];!!r.loading!==t&&(this._attachments=[...this._attachments.slice(0,n),{...r,loading:t},...this._attachments.slice(n+1)],this._dispatchChange(),this._host.requestUpdate())}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this._dispatchChange(),this._host.requestUpdate()}getAttachments(){return[...this._attachments]}handlePastedImages(e){if(!this._host.allowImages||this._host.disabled||this._host.readonly||this._host.pending||!e)return!1;let t=[];for(let n of e.items)if(n.type.startsWith(`image/`)){let e=n.getAsFile();e&&t.push(e)}return t.length>0?(this.addFiles(t),!0):!1}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},b=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!y.isSupported()){this._host.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.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return y.formatDuration(this.duration)}static isSupported(){return y.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new y({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function x(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function S(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function C(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=x(e,i),s=S(o,n,r),c=x(e,a),l=S(c,n,r);return l<s&&(o=c,s=l),{range:o,distSq:s}}function w(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=C(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,l=x(e,o),u=x(e,o+1),d=t<c?l:u,f=n-(r.top+r.height/2),p=t<c?t-r.left:t-r.right,m=p*p+f*f;m<a&&(a=m,i=d)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function T(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=x(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=x(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=w(t,n,r,i)),a}function E(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function D(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function O(e){return e===` `||e===`
21
+ `||e===`\xA0`}function re(e){let t=E(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return O(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0||O(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0||O(t.at(-1)??``)}}return!1}function ie(e,t){let n=E(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function ae(e,t){let n=E(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function k(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);D(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function oe(e,t,n,r){let i=E(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),D(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),D(s,n);return}}}var A=`application/x-luzmo-element`,j=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=E(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(A);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?T(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),k(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),k(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return E(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=E(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
22
+ `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=T(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=T(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},M=class{constructor(e){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=()=>{this.close()},this.handleOverlayKeydown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.close(),this.richInputElement?.focus())},this.handlePointerMove=()=>{this.pointerMovedSinceKeyNav=!0},this._handleTriggerSelect=e=>{if(!this.activeTrigger)return;let{elementType:t,label:n,data:r,icon:i}=e.detail;this.selectOption({label:n,value:n,data:r,icon:i,elementType:t})},this._handleDocumentPointerDown=e=>{let t=e.composedPath(),n=this._host.shadowRoot?.querySelector(`luzmo-overlay[part="trigger-menu-overlay"]`);n&&t.includes(n)||this.richInputElement&&t.includes(this.richInputElement)||(this.close(),this.richInputElement?.focus())},this._host=e,e.addController(this)}hostConnected(){this._host.addEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}hostDisconnected(){document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0),this._host.removeEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}get triggers(){return this._triggers}set triggers(e){this._triggers=e,this.activeTrigger&&this._updateFilteredOptions()}get activeConfig(){if(this.activeTrigger)return this._triggers.find(e=>e.key===this.activeTrigger)}get hasTriggers(){return this._triggers.length>0}getSlotName(e){return this._triggers.find(t=>t.key===e)?.slotName}get allSlotNames(){return this._triggers.map(e=>e.slotName).filter(e=>!!e)}handleInput(e){if(this.activeTrigger){let e=ae(this._host.shadowRoot,this.activeTrigger)??this._extractTriggerSearchFromContent(this.activeTrigger);e===null?this.close():(this.searchString=e,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1),this._dispatchChange(!0),this._host.requestUpdate(),document.dispatchEvent(new Event(`luzmo-update-overlays`)))}else this._detectTrigger(e)}open(e){if(!this._triggers.find(t=>t.key===e))return;let t=ie(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let n=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,n):this.virtualElement=new v(t.x,t.y,n),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||re(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
23
23
  `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy){this.filteredOptions=e.options;return}if(!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options){if(i.header){r=i;continue}(i.label.toLowerCase().includes(t)||(i.description?.toLowerCase().includes(t)??!1))&&(r&&=(n.push(r),null),n.push(i))}this.filteredOptions=n}_findSelectableIndex(e,t){let n=this.filteredOptions.length;if(n===0)return-1;let r=(e%n+n)%n;for(let e=0;e<n;e++){if(!this.filteredOptions[r].header)return r;r=((r+t)%n+n)%n}return-1}_moveHighlight(e){let t=this.filteredOptions.length;if(t===0)return;let n=(this.highlightedIndex+e+t)%t;n=this._findSelectableIndex(n,e),n!==-1&&(this.pointerMovedSinceKeyNav=!1,this.hoveredIndex=-1,this.highlightedIndex=n,this._host.requestUpdate(),requestAnimationFrame(()=>{this._host.shadowRoot?.querySelector(`.trigger-option.highlighted`)?.scrollIntoView({block:`nearest`})}))}_selectHighlighted(){let e=this.filteredOptions[this.highlightedIndex];if(!e){this.close();return}this.selectOption(e)}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;oe(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);k(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{k(n,a)})})}_dispatchChange(e){this.activeTrigger&&this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:this.activeTrigger,open:e,searchString:this.searchString}}))}},N=!1,P=0;function F(){N=!0}function I(){N=!1}function L(){document.addEventListener(`keydown`,F,!0),document.addEventListener(`mousedown`,I,!0),document.addEventListener(`pointerdown`,I,!0)}function R(){document.removeEventListener(`keydown`,F,!0),document.removeEventListener(`mousedown`,I,!0),document.removeEventListener(`pointerdown`,I,!0)}function z(){P===0&&typeof window<`u`&&L(),P++}function B(){P--,P<=0&&(P=0,R())}function V(){return N}function H(t,n,r){return e`
24
24
  <div class="top-actions ${n?``:`empty`}" part="top-actions">
25
25
  <slot name="top-actions" @slotchange=${r}></slot>
@@ -72,7 +72,7 @@ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";i
72
72
  @click=${o}
73
73
  aria-label="Finish recording"
74
74
  >
75
- <luzmo-icon slot="icon" .icon=${p}></luzmo-icon>
75
+ <luzmo-icon slot="icon" .icon=${m}></luzmo-icon>
76
76
  </luzmo-button>
77
77
  </div>
78
78
  `:e`
@@ -102,7 +102,7 @@ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";i
102
102
  aria-label="Stop"
103
103
  label="Stop"
104
104
  >
105
- <luzmo-icon slot="icon" .icon=${m}></luzmo-icon>
105
+ <luzmo-icon slot="icon" .icon=${h}></luzmo-icon>
106
106
  </luzmo-button>
107
107
  `:e`
108
108
  <slot name="submit-button" @slotchange=${n}></slot>
@@ -134,7 +134,7 @@ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";i
134
134
  ></luzmo-icon>`:t}
135
135
  <span class="trigger-option-header-label">${n.label}</span>
136
136
  </div>
137
- `}function le(n,r,i,a,o){let s=()=>{n.selectTriggerOption(r)},c=()=>{n.triggerMenuController.pointerMovedSinceKeyNav&&(n.triggerMenuController.hoveredIndex=i,n.highlightTriggerOption(i))},u=()=>{n.triggerMenuController.hoveredIndex===i&&(n.triggerMenuController.hoveredIndex=-1,n.requestUpdate())},d=i===a,f=i===n.triggerMenuController.hoveredIndex,p=n.triggerMenuController.searchString,m=e`${o?.iconTemplate?e`<span class="trigger-option-icon">${o.iconTemplate(r)}</span>`:r.icon?e`<luzmo-icon
137
+ `}function le(n,r,i,a,o){let s=()=>{n.selectTriggerOption(r)},c=()=>{n.triggerMenuController.pointerMovedSinceKeyNav&&(n.triggerMenuController.hoveredIndex=i,n.highlightTriggerOption(i))},l=()=>{n.triggerMenuController.hoveredIndex===i&&(n.triggerMenuController.hoveredIndex=-1,n.requestUpdate())},d=i===a,f=i===n.triggerMenuController.hoveredIndex,p=n.triggerMenuController.searchString,m=e`${o?.iconTemplate?e`<span class="trigger-option-icon">${o.iconTemplate(r)}</span>`:r.icon?e`<luzmo-icon
138
138
  class="trigger-option-icon"
139
139
  .icon=${r.icon}
140
140
  size="s"
@@ -154,12 +154,12 @@ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";i
154
154
  aria-selected=${d}
155
155
  @click=${s}
156
156
  @pointerenter=${c}
157
- @pointerleave=${u}
157
+ @pointerleave=${l}
158
158
  >
159
159
  ${m}
160
160
  ${d?e`<luzmo-icon
161
161
  class="trigger-option-enter-icon"
162
- .icon=${l}
162
+ .icon=${u}
163
163
  size="s"
164
164
  ></luzmo-icon>`:t}
165
165
  </div>
@@ -226,7 +226,7 @@ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";i
226
226
  @focusout=${t.handleInputFocusOut}
227
227
  hide-validation-icons
228
228
  ></luzmo-text-field>
229
- `}var Y={pdf:_,csv:f,xls:g,xlsx:g,mp4:u,mov:u,webm:u,avi:u,mkv:u},me=new Set([`__proto__`,`constructor`,`prototype`]);function X(e){return e.trim().toLowerCase().replace(/^\./,``)}function he(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return X(e.slice(t+1))}function ge(e){if(!e||Object.keys(e).length===0)return Y;let t={...Y};for(let[n,r]of Object.entries(e)){let e=X(n);!e||me.has(e)||(t[e]=r)}return t}function _e(e,t){let n=he(e.name);return n?t[n]??h:h}function ve(n,r){return e`
229
+ `}var Y={pdf:_,csv:p,xls:g,xlsx:g,mp4:l,mov:l,webm:l,avi:l,mkv:l},me=new Set([`__proto__`,`constructor`,`prototype`]);function X(e){return e.trim().toLowerCase().replace(/^\./,``)}function he(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return X(e.slice(t+1))}function ge(e){if(!e||Object.keys(e).length===0)return Y;let t={...Y};for(let[n,r]of Object.entries(e)){let e=X(n);!e||me.has(e)||(t[e]=r)}return t}function _e(e,t){let n=he(e.name);return n?t[n]??f:f}function ve(n,r){return e`
230
230
  <div
231
231
  class="image-attachment"
232
232
  part="image-attachment"
@@ -17,7 +17,7 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,g as i,i as a,l as o,u as s,v as c,y as l}from"./chunks/lucero-runtime-DGJ9-isg.js";import{I as u,d,i as f}from"./chunks/luzmo-icons-BKu82bUU.js";import{t as p}from"./chunks/roving-tabindex-CB4xC55P.js";import"./chunks/icon-Csu47YgC.js";import{t as ee}from"./chunks/language-resolution-BWHk9A73.js";import"./chunks/action-button-DCt8NsDy.js";import"./chunks/badge-DD-tMgzi.js";import"./chunks/checkbox-Dz-0cBEf.js";import"./field-group.js";import"./chunks/text-field-DgyP9fxu.js";import"./chunks/button-UUPI5TRz.js";import{t as m}from"./chunks/repeat-CZdNcszA.js";import"./chunks/radio-2vHhfmHw.js";var h=`:host{font-family:var(--question-box-font-family);font-size:var(--question-box-font-size);color:var(--highcontrast-question-box-color,var(--question-box-color));box-sizing:border-box;inline-size:100%;max-inline-size:var(--luzmo-question-box-max-inline-size,var(--question-box-max-inline-size));display:block}:host([disabled]){pointer-events:none}.card{gap:var(--question-box-gap);padding:var(--question-box-padding);box-sizing:border-box;border-width:var(--question-box-border-width);border-style:solid;border-color:var(--highcontrast-question-box-border-color,var(--question-box-border-color));border-radius:var(--question-box-border-radius);background-color:var(--highcontrast-question-box-background-color,var(--question-box-background-color));flex-direction:column;display:flex}.header{justify-content:space-between;align-items:flex-start;gap:var(--question-box-header-gap);display:flex}.header-actions,.step-navigation{align-items:center;display:flex}.header-actions{gap:var(--question-box-header-actions-gap);min-block-size:0;block-size:max(var(--question-box-title-font-size) * var(--question-box-title-line-height), var(--question-box-header-control-size) - 2 * (var(--question-box-padding) - var(--question-box-header-actions-inset)));flex-shrink:0;margin-inline-start:auto;overflow:visible}.step-navigation{gap:var(--question-box-copy-gap)}.heading{gap:var(--question-box-heading-copy-gap);flex-direction:column;min-inline-size:0;display:flex}.progress{font-size:var(--question-box-progress-font-size);color:var(--question-box-muted-color);margin:0}.title{font-size:var(--question-box-title-font-size);font-weight:var(--luzmo-font-weight-bold);line-height:var(--question-box-title-line-height);margin:0}.title:focus,.summary-heading:focus{outline:none}.title:focus-visible,.summary-heading:focus-visible{-webkit-text-decoration-color:var(--question-box-focus-ring-color);text-decoration-color:var(--question-box-focus-ring-color);text-decoration-line:underline;text-decoration-thickness:var(--question-box-focus-ring-width);text-underline-offset:var(--question-box-focus-ring-gap);outline:none}.description{color:var(--question-box-muted-color);font-size:inherit;margin:0;margin-block-start:var(--question-box-heading-copy-offset);line-height:1.4}.close{flex-shrink:0}.body{gap:var(--question-box-option-gap);max-block-size:var(--luzmo-question-box-body-max-block-size,var(--question-box-body-max-block-size));padding-block:var(--question-box-body-focus-inset);margin-block:calc(var(--question-box-body-focus-inset) * -1);flex-direction:column;display:flex;overflow:hidden auto}.body::-webkit-scrollbar{width:var(--luzmo-question-box-scrollbar-width,var(--question-box-scrollbar-width));height:var(--luzmo-question-box-scrollbar-width,var(--question-box-scrollbar-width))}.body::-webkit-scrollbar-track{background:var(--luzmo-question-box-scrollbar-track-background,var(--question-box-scrollbar-track-background));border-radius:var(--luzmo-question-box-scrollbar-track-border-radius,var(--question-box-scrollbar-track-border-radius))}.body::-webkit-scrollbar-thumb{background:var(--luzmo-question-box-scrollbar-thumb-background,var(--question-box-scrollbar-thumb-background));border-radius:var(--luzmo-question-box-scrollbar-thumb-border-radius,var(--question-box-scrollbar-thumb-border-radius))}.body::-webkit-scrollbar-thumb:hover{background:var(--luzmo-question-box-scrollbar-thumb-hover-background,var(--question-box-scrollbar-thumb-hover-background))}.body{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-question-box-scrollbar-thumb-background,var(--question-box-scrollbar-thumb-background)) var(--luzmo-question-box-scrollbar-track-background,var(--question-box-scrollbar-track-background))}.options{box-sizing:border-box;flex-direction:column;inline-size:100%;min-inline-size:0;display:flex}.options--descriptive luzmo-radio,.options--descriptive luzmo-checkbox,.options--descriptive .other-option-answer{padding-block:var(--luzmo-question-box-descriptive-option-padding-block,var(--question-box-descriptive-option-padding-block))}.body:has(.options--descriptive){margin-block:calc(var(--question-box-option-padding-block) - var(--question-box-body-focus-inset) - var(--luzmo-question-box-descriptive-option-padding-block,var(--question-box-descriptive-option-padding-block)))}luzmo-radio,luzmo-checkbox{box-sizing:border-box;inline-size:100%;min-block-size:var(--question-box-option-min-block-size);padding-block:var(--question-box-option-padding-block);padding-inline:var(--question-box-option-padding-inline);border-block-end-width:var(--luzmo-question-box-divider-width,var(--question-box-divider-width));border-block-end-style:solid;border-block-end-color:var(--luzmo-question-box-divider-color,var(--question-box-divider-color));border-radius:var(--luzmo-border-radius-s);align-items:center;display:flex}luzmo-radio:hover,luzmo-checkbox:hover{background-color:var(--question-box-option-hover-background)}.other-option-row{align-items:center;gap:var(--question-box-option-gap);box-sizing:border-box;border-block-end-width:var(--luzmo-question-box-divider-width,var(--question-box-divider-width));border-block-end-style:solid;border-block-end-color:var(--luzmo-question-box-divider-color,var(--question-box-divider-color));inline-size:100%;max-inline-size:100%;display:flex}.other-option-answer{align-items:center;gap:var(--question-box-option-gap);box-sizing:border-box;min-inline-size:0;min-block-size:var(--question-box-option-min-block-size);padding-block:var(--question-box-option-padding-block);padding-inline:var(--question-box-option-padding-inline);border-radius:var(--luzmo-border-radius-s);flex:1;display:flex}.other-option-answer:hover{background-color:var(--question-box-option-hover-background)}luzmo-radio.other-option,luzmo-checkbox.other-option{border:0;flex:none;min-block-size:auto;inline-size:auto;padding:0}luzmo-radio.other-option{--luzmo-radio-button-top-to-control:0px}luzmo-radio.numbered-option{--luzmo-radio-button-control-size:0px;--luzmo-radio-button-top-to-control:0px;--luzmo-radio-text-to-control:0px;--luzmo-radio-border-width:0px;--luzmo-radio-focus-indicator-width:0px}luzmo-checkbox.numbered-option{--luzmo-checkbox-control-size:0px;--luzmo-checkbox-text-to-control:0px;--luzmo-checkbox-top-to-text:0px;--luzmo-checkbox-border-width:0px;--luzmo-checkbox-selected-border-width:0px;--luzmo-checkbox-focus-indicator-width:0px}luzmo-radio.numbered-option::part(control),luzmo-checkbox.numbered-option::part(control){display:none}luzmo-radio.other-option:hover,luzmo-checkbox.other-option:hover{background-color:#0000}.other-field{inline-size:auto;min-inline-size:0;max-inline-size:100%;min-block-size:var(--question-box-other-field-min-block-size);font-size:var(--question-box-other-field-font-size);--luzmo-text-field-width:100%;--luzmo-text-field-height:var(--question-box-other-field-min-block-size);--luzmo-text-field-background-color:transparent;--luzmo-text-field-background-color-disabled:transparent;--luzmo-text-field-placeholder-font-size:var(--question-box-other-field-font-size);--luzmo-text-field-border-width:0px;--luzmo-text-field-spacing-inline:0px;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px;flex:1;justify-content:center}.other-primary{flex:none}.other-actions{box-sizing:border-box;justify-content:flex-end;align-items:center;gap:var(--question-box-copy-gap-detailed);inline-size:100%;padding-inline:var(--question-box-option-padding-inline);margin-block-start:var(--question-box-copy-gap-detailed);display:flex}.selected-count{font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size))}.other-actions .selected-count{min-inline-size:0;margin-inline-end:auto}.other-actions luzmo-button{flex:none}.status-error{--luzmo-helptext-font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size));--luzmo-helptext-min-height:0;--luzmo-helptext-top-to-text:0;--luzmo-helptext-bottom-to-text:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.option-content{align-items:flex-start;gap:var(--question-box-option-gap);inline-size:100%;display:flex}.option-number{forced-color-adjust:none;inline-size:var(--question-box-option-number-size);block-size:var(--question-box-option-number-size);box-sizing:border-box;border:var(--luzmo-border-width) solid var(--highcontrast-question-box-option-number-border-color,var(--question-box-option-number-border-color));border-radius:var(--luzmo-border-radius);color:var(--highcontrast-question-box-option-number-color,var(--question-box-option-number-color));background-color:var(--highcontrast-question-box-option-number-background,var(--question-box-option-number-background));transition:color var(--luzmo-animation-duration) ease-in-out, border-color var(--luzmo-animation-duration) ease-in-out, background-color var(--luzmo-animation-duration) ease-in-out;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}luzmo-radio[checked] .option-number,luzmo-checkbox[checked] .option-number{color:var(--highcontrast-question-box-option-number-selected-color,var(--question-box-option-number-selected-color));border-color:var(--highcontrast-question-box-option-number-selected-background,var(--question-box-option-number-selected-background));background-color:var(--highcontrast-question-box-option-number-selected-background,var(--question-box-option-number-selected-background))}luzmo-radio[data-focus-visible] .option-number,luzmo-checkbox[data-focus-visible] .option-number,.option-number--focused{outline:var(--luzmo-question-box-focus-ring-width,var(--question-box-focus-ring-width)) solid var(--highcontrast-question-box-focus-ring-color,var(--luzmo-question-box-focus-ring-color,var(--question-box-focus-ring-color)));outline-offset:var(--luzmo-question-box-focus-ring-gap,var(--question-box-focus-ring-gap))}luzmo-radio[disabled] .option-number,luzmo-checkbox[disabled] .option-number{opacity:.5}.option-copy{gap:var(--question-box-copy-gap);flex-direction:column;flex:1;min-inline-size:0;display:flex}.option-edit luzmo-icon{color:inherit}.option-heading{align-items:center;gap:var(--question-box-recommended-gap);min-block-size:var(--question-box-option-number-size);flex-wrap:wrap;display:flex}.option-text{align-items:baseline;gap:var(--question-box-recommended-gap);flex-wrap:wrap;min-inline-size:0;display:flex}.option-description{color:var(--question-box-muted-color);line-height:1.4}.option-hint{color:var(--question-box-muted-color);font-size:var(--luzmo-font-size-s)}.footer{justify-content:space-between;align-items:center;gap:var(--question-box-option-gap);flex-wrap:wrap;display:flex}.status{color:var(--question-box-muted-color);font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size))}.actions{justify-content:flex-end;gap:var(--question-box-recommended-gap);flex-wrap:wrap;margin-inline-start:auto;display:flex}:host([dir=rtl]) .step-navigation luzmo-icon{transform:scaleX(-1)}.resolved{gap:var(--question-box-summary-gap)}.summary-actions{justify-content:flex-end;gap:var(--question-box-recommended-gap);flex-wrap:wrap;display:flex}.summary{gap:var(--question-box-option-gap);flex-direction:column;display:flex}.summary-heading{font-size:var(--question-box-title-font-size);line-height:var(--question-box-title-line-height);margin:0}.summary-row{gap:var(--question-box-copy-gap);flex-direction:column;display:flex}.summary-title{color:var(--question-box-muted-color);font-size:var(--luzmo-font-size-s)}.summary-answer{font-weight:var(--luzmo-font-weight-bold)}@media (prefers-reduced-motion:reduce){.option-number{transition-duration:0s}}@media (forced-colors:active){:host{--highcontrast-question-box-border-color:CanvasText;--highcontrast-question-box-background-color:Canvas;--highcontrast-question-box-color:CanvasText;--highcontrast-question-box-focus-ring-color:Highlight;--highcontrast-question-box-option-number-border-color:ButtonText;--highcontrast-question-box-option-number-color:ButtonText;--highcontrast-question-box-option-number-background:Canvas;--highcontrast-question-box-option-number-selected-background:Highlight;--highcontrast-question-box-option-number-selected-color:HighlightText}}:host{--question-box-font-family:var(--luzmo-font-family);--question-box-font-size:var(--luzmo-font-size-m);--question-box-color:var(--luzmo-font-color);--question-box-muted-color:color-mix(in srgb, var(--luzmo-font-color) 80%, var(--luzmo-background-color));--question-box-background-color:var(--luzmo-background-color);--question-box-border-color:var(--luzmo-border-color);--question-box-border-width:var(--luzmo-border-width);--question-box-border-radius:var(--luzmo-border-radius-l);--question-box-padding:var(--luzmo-spacing-5);--question-box-gap:var(--luzmo-spacing-4);--question-box-header-gap:var(--luzmo-spacing-3);--question-box-header-actions-gap:var(--luzmo-spacing-2);--question-box-header-actions-inset:var(--luzmo-spacing-2);--question-box-header-control-size:var(--luzmo-component-height);--question-box-max-inline-size:40rem;--question-box-body-max-block-size:24rem;--question-box-title-font-size:var(--question-box-font-size);--question-box-title-line-height:1.3;--question-box-progress-font-size:var(--luzmo-font-size-s);--question-box-selected-count-font-size:var(--luzmo-font-size-s);--question-box-option-min-block-size:var(--luzmo-component-height);--question-box-option-hover-background:var(--luzmo-background-color-hover);--question-box-option-number-size:var(--luzmo-component-height-xs);--question-box-descriptive-option-padding-block:var(--question-box-option-padding-block);--question-box-option-padding-block:var(--luzmo-spacing-1);--question-box-option-padding-inline:var(--luzmo-spacing-3);--question-box-option-gap:var(--luzmo-spacing-3);--question-box-heading-copy-gap:0px;--question-box-heading-copy-offset:calc(var(--question-box-font-size) * -.25);--question-box-copy-gap:var(--luzmo-spacing-1);--question-box-copy-gap-detailed:var(--luzmo-spacing-2);--question-box-recommended-gap:var(--luzmo-spacing-2);--question-box-summary-gap:var(--luzmo-spacing-4);--question-box-body-focus-inset:calc(var(--luzmo-indicator-gap) + var(--luzmo-indicator-width));--question-box-focus-ring-width:var(--luzmo-indicator-width);--question-box-focus-ring-gap:var(--luzmo-indicator-gap);--question-box-focus-ring-color:var(--luzmo-indicator-color);--question-box-divider-width:0px;--question-box-option-number-background:var(--luzmo-background-color);--question-box-option-number-border-color:var(--luzmo-border-color);--question-box-option-number-color:var(--luzmo-font-color);--question-box-option-number-selected-background:var(--luzmo-primary);--question-box-option-number-selected-color:var(--luzmo-primary-inverse-color);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size);--question-box-divider-color:var(--luzmo-border-color);--question-box-scrollbar-width:var(--luzmo-scrollbar-size);--question-box-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--question-box-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--question-box-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--question-box-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--question-box-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background)}:host([size=s]){--question-box-padding:var(--luzmo-spacing-4);--question-box-font-size:var(--luzmo-font-size-s);--question-box-selected-count-font-size:var(--luzmo-font-size-xs);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-s);--question-box-option-min-block-size:var(--luzmo-component-height-s);--question-box-option-number-size:var(--luzmo-component-height-xs);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}:host([size=l]){--question-box-font-size:var(--luzmo-font-size-l);--question-box-selected-count-font-size:var(--luzmo-font-size-m);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-l);--question-box-option-min-block-size:var(--luzmo-component-height-l);--question-box-option-number-size:var(--luzmo-component-height-s);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}:host([size=xl]){--question-box-font-size:var(--luzmo-font-size-xl);--question-box-selected-count-font-size:var(--luzmo-font-size-l);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-xl);--question-box-option-min-block-size:var(--luzmo-component-height-xl);--question-box-option-number-size:var(--luzmo-component-height);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}`,g=`__other__`,_={continue:`Next`,back:`Back`,submit:`Submit`,skip:`Skip`,change:`Change`,close:`Close`,other:`Something else`,otherPlaceholder:`Something else`,recommended:`Recommended`,answerTitle:`Answer`,answersTitle:`Answers`,progress:`{current} of {total}`,selectedCount:`{count} selected`,selectedCountOne:`{count} selected`,recommendedSuffix:`{label} ({recommended})`,answer:`{answer}`,requiredSelectionDescription:`Choose one or more options.`,selectionRangeDescription:`Choose between {min} and {max} options.`,minSelectedError:`Choose at least {min} options.`,maxSelectedError:`Choose at most {max} options.`,otherRequiredError:`Enter a value for this option.`},v=e=>`${e}Other`,y=e=>!!e.other||e.options.length===0,b=e=>typeof e.other==`object`&&e.other?e.other:{},x=e=>Object.fromEntries(Object.entries(e)),S=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})},C=(e,t)=>{let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let r of n){let n=e[r],i=t[r];if(Array.isArray(n)||Array.isArray(i)){if(!Array.isArray(n)||!Array.isArray(i)||n.length!==i.length||n.some((e,t)=>e!==i[t]))return!1}else if(n!==i)return!1}return!0},w=e=>{let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n},te=e=>{let t=new Set(e.options.map(e=>e.value));return y(e)&&t.add(g),t},T=(e,t)=>{let n=t[e.id];return e.type===`single`?typeof n==`string`&&n?[n]:[]:Array.isArray(n)?w(n):[]},E=(e,t)=>T(e,t).includes(g),D=e=>{let t=Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));return{..._,...t}},O=(e,t)=>{let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{${e}}`,r);return n},k=e=>{let t=new Set;for(let n of e){if(!n.id)throw TypeError(`luzmo-question-box: every question needs an id.`);if(t.has(n.id))throw TypeError(`luzmo-question-box: duplicate question id "${n.id}".`);t.add(n.id);let r=v(n.id);if(e.some(e=>e.id===r))throw TypeError(`luzmo-question-box: question id "${r}" collides with Other text for "${n.id}".`);if(n.type!==`multiple`&&(n.minSelected!==void 0||n.maxSelected!==void 0))throw TypeError(`luzmo-question-box: minSelected and maxSelected only apply to multiple-choice question "${n.id}".`);for(let[e,t]of[[`minSelected`,n.minSelected],[`maxSelected`,n.maxSelected]])if(t!==void 0&&(!Number.isInteger(t)||t<0))throw TypeError(`luzmo-question-box: ${e} must be a non-negative integer on "${n.id}".`);let i=n.minSelected??+!!n.required;if(n.maxSelected!==void 0&&i>n.maxSelected)throw TypeError(`luzmo-question-box: minSelected cannot exceed maxSelected on "${n.id}".`);let a=n.options.filter(e=>!e.disabled).length+ +!!y(n);if(n.type===`multiple`&&i>a)throw TypeError(`luzmo-question-box: minSelected exceeds the available options on "${n.id}".`);let o=new Set;for(let e of n.options){if(!e.value)throw TypeError(`luzmo-question-box: option values cannot be empty on "${n.id}".`);if(e.value===`__other__`)throw TypeError(`luzmo-question-box: "${g}" is reserved on "${n.id}".`);if(o.has(e.value))throw TypeError(`luzmo-question-box: duplicate option value "${e.value}" on "${n.id}".`);o.add(e.value)}}},A=(e,t)=>{let n=Object.fromEntries([]);for(let r of e){let e=te(r),i=t[r.id],a=Object.hasOwn(t,r.id);if(r.type===`single`)typeof i==`string`&&e.has(i)?S(n,r.id,i):!a&&typeof r.default==`string`&&(e.has(r.default)||r.options.length===0)&&S(n,r.id,r.options.length===0?g:r.default);else{let t=[...r.options.map(e=>e.value),...y(r)?[g]:[]],o=w(Array.isArray(i)?i.filter(t=>e.has(t)):[]);if(o.length>0)S(n,r.id,t.filter(e=>o.includes(e)));else if(!a&&Array.isArray(r.default)){let i=w(r.default.filter(t=>e.has(t)));i.length>0&&S(n,r.id,t.filter(e=>i.includes(e)))}}let o=v(r.id),s=t[o];typeof s==`string`?S(n,o,s):!a&&r.options.length===0&&typeof r.default==`string`&&S(n,o,r.default)}return n},j=e=>e.minSelected??+!!e.required,ne=(e,t)=>{let n=j(e),r=e.maxSelected;return n>0&&r!==void 0?O(t.selectionRangeDescription,{min:String(n),max:String(r)}):n===1?t.requiredSelectionDescription:n>1?O(t.minSelectedError,{min:String(n)}):r===void 0?void 0:O(t.maxSelectedError,{max:String(r)})},M=(e,t)=>{let n=T(e,t),r=j(e),i=e.maxSelected;if(n.length<r)return r<=1?`missing`:`minimum`;if(i!==void 0&&n.length>i)return`maximum`;if(E(e,t)&&!String(t[v(e.id)]??``).trim())return`otherText`},re=(e,t)=>M(e,t)!==void 0,ie=(e,t,n)=>{switch(M(e,t)){case`minimum`:return O(n.minSelectedError,{min:String(j(e))});case`maximum`:return O(n.maxSelectedError,{max:String(e.maxSelected)});case`otherText`:return n.otherRequiredError;default:return}},ae=(e,t,n,r,i)=>{if(i||t.disabled)return!0;if(e.type!==`multiple`||n)return!1;let a=e.maxSelected;return a!==void 0&&T(e,r).length>=a},oe=(e,t)=>O(e===1?t.selectedCountOne:t.selectedCount,{count:String(e)}),N,se=(e,t)=>{try{return N?.language!==t&&(N={language:t,formatter:new Intl.ListFormat(t,{style:`narrow`,type:`conjunction`})}),N.formatter.format(e)}catch{return e.join(`, `)}},ce=(e,t)=>e.recommended?O(t.recommendedSuffix,{label:e.label,recommended:t.recommended}):e.label,P=e=>{let t=e.options.map(e=>({const:e.value,title:e.label}));return y(e)&&e.options.length>0&&t.push({const:g,title:typeof e.other==`object`&&e.other.label||_.other}),t},F=e=>{let t={type:`string`};return typeof e.other==`object`&&e.other.label&&(t.title=e.other.label),t},I=e=>{let t=[],n=[];for(let r of e){if(r.options.length===0){let e={type:`string`};r.title&&(e.title=r.title),r.description&&(e.description=r.description),typeof r.default==`string`&&(e.default=r.default),t.push([r.id,e]),r.required&&n.push(r.id);continue}let e=P(r);if(r.type===`single`){let n={type:`string`,oneOf:e};r.title&&(n.title=r.title),r.description&&(n.description=r.description),typeof r.default==`string`&&r.options.some(e=>e.value===r.default)&&(n.default=r.default),t.push([r.id,n])}else{let n={type:`array`,items:{anyOf:e}};r.title&&(n.title=r.title),r.description&&(n.description=r.description);let i=r.minSelected??(r.required?1:void 0);if(i!==void 0&&(n.minItems=i),r.maxSelected!==void 0&&(n.maxItems=r.maxSelected),Array.isArray(r.default)){let t=new Set(e.map(e=>e.const)),i=r.default.filter(e=>t.has(e));i.length>0&&(n.default=i)}t.push([r.id,n])}r.required&&n.push(r.id),y(r)&&t.push([v(r.id),F(r)])}let r=Object.fromEntries(t);return n.length>0?{type:`object`,properties:r,required:n}:{type:`object`,properties:r}},L=(e,t)=>String(t[v(e.id)]??``).trim(),R=(e,t)=>{let n=[];for(let r of e){let e=L(r,t);if(r.options.length===0){e&&n.push([r.id,e]);continue}let i=T(r,t);r.type===`single`?i[0]&&n.push([r.id,i[0]]):i.length>0&&n.push([r.id,[...i]]),y(r)&&E(r,t)&&e&&n.push([v(r.id),e])}return Object.fromEntries(n)},z=e=>!!e&&typeof e==`object`&&!Array.isArray(e),B=e=>z(e)?e:{},V=e=>{let t=e.oneOf??e.items?.anyOf;if(Array.isArray(t)){let e=[],n=new Set;for(let r of t)!z(r)||typeof r.const!=`string`||!r.const||n.has(r.const)||(n.add(r.const),e.push({value:r.const,label:typeof r.title==`string`&&r.title?r.title:r.const}));return{declared:!0,options:e}}let n=e.enum??e.items?.enum;if(Array.isArray(n)){let t=e.enumNames??e.items?.enumNames,r=new Set,i=[];for(let[e,a]of n.entries()){if(typeof a!=`string`||!a||r.has(a))continue;r.add(a);let n=t?.[e];i.push({value:a,label:typeof n==`string`&&n?n:a})}return{declared:!0,options:i}}return{declared:!1,options:[]}},H=e=>v(e),U=e=>e.format!==void 0||e.minLength!==void 0||e.maxLength!==void 0||e.pattern!==void 0,W=e=>e.type===`string`&&!V(e).declared&&!U(e),le=e=>{if(e.type!==`object`||!e.properties)return[];let t=e.properties,n=new Set(e.required??[]),r=new Set;for(let e of Object.keys(t)){let n=H(e),i=V(B(t[e])),a=B(t[n]);n in t&&W(a)&&i.options.some(e=>e.value===`__other__`)&&r.add(n)}let i=[];for(let[e,a]of Object.entries(t)){if(r.has(e))continue;let o=B(a),s=V(o),c=s.options.some(e=>e.value===g),l=H(e);if(c&&!r.has(l))continue;let u=s.options.filter(e=>e.value!==g);if(o.type===`number`||o.type===`integer`||o.type===`boolean`||o.type!==`string`&&o.type!==`array`||s.declared&&s.options.length===0||o.type===`array`&&!s.declared||o.type===`string`&&!s.declared&&U(o))continue;let d={id:e,type:o.type===`array`?`multiple`:`single`,title:o.title||e,options:u};if(o.description&&(d.description=o.description),n.has(e)&&(d.required=!0),o.type===`array`?(o.minItems!==void 0&&(d.minSelected=o.minItems),o.maxItems!==void 0&&(d.maxSelected=o.maxItems),Array.isArray(o.default)&&o.default.length>0&&(d.default=o.default)):typeof o.default==`string`&&(d.default=o.default),c&&l in t){let e=B(t[l]);d.other=!e.title||{label:e.title}}i.push(d)}return i};function G(e){switch(e){case`s`:return`xs`;case`m`:return`s`;case`l`:return`m`;default:return`l`}}function K(e){switch(e){case`m`:return`xs`;case`l`:return`s`;case`xl`:case`xxl`:return`m`;default:return`xxs`}}function q(e){return e.step>=e.questions.length-1}function ue(e,t){let n=e.selectedValues(t);return n.length===0?``:se(n.map(n=>{if(n===`__other__`)return String(e.value[v(t.id)]??e.copy.other);let r=t.options.find(e=>e.value===n);return r?ce(r,e.copy):n}),e.language)}function de(n,r){let i=ue(n,r);return e`<span class="summary-value">${n.copy.answer.split(`{answer}`).map((n,r)=>e`${r>0?e`<span class="summary-answer">${i}</span>`:t}${n}`)}</span>`}function fe(n){let r=n.copy;return e`
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,g as i,i as a,l as o,u as s,v as c,y as l}from"./chunks/lucero-runtime-DGJ9-isg.js";import{F as u,d,i as f}from"./chunks/luzmo-icons-CJa-aByT.js";import{t as p}from"./chunks/roving-tabindex-CB4xC55P.js";import"./chunks/icon-Dy6J1QeX.js";import{t as ee}from"./chunks/language-resolution-BWHk9A73.js";import"./chunks/action-button-BzzPBqt5.js";import"./chunks/badge-DD-tMgzi.js";import"./chunks/checkbox-OQtakoP8.js";import"./field-group.js";import"./chunks/text-field-BnZtyodU.js";import"./chunks/button-Dykw3TSO.js";import{t as m}from"./chunks/repeat-CZdNcszA.js";import"./chunks/radio-2vHhfmHw.js";var h=`:host{font-family:var(--question-box-font-family);font-size:var(--question-box-font-size);color:var(--highcontrast-question-box-color,var(--question-box-color));box-sizing:border-box;inline-size:100%;max-inline-size:var(--luzmo-question-box-max-inline-size,var(--question-box-max-inline-size));display:block}:host([disabled]){pointer-events:none}.card{gap:var(--question-box-gap);padding:var(--question-box-padding);box-sizing:border-box;border-width:var(--question-box-border-width);border-style:solid;border-color:var(--highcontrast-question-box-border-color,var(--question-box-border-color));border-radius:var(--question-box-border-radius);background-color:var(--highcontrast-question-box-background-color,var(--question-box-background-color));flex-direction:column;display:flex}.header{justify-content:space-between;align-items:flex-start;gap:var(--question-box-header-gap);display:flex}.header-actions,.step-navigation{align-items:center;display:flex}.header-actions{gap:var(--question-box-header-actions-gap);min-block-size:0;block-size:max(var(--question-box-title-font-size) * var(--question-box-title-line-height), var(--question-box-header-control-size) - 2 * (var(--question-box-padding) - var(--question-box-header-actions-inset)));flex-shrink:0;margin-inline-start:auto;overflow:visible}.step-navigation{gap:var(--question-box-copy-gap)}.heading{gap:var(--question-box-heading-copy-gap);flex-direction:column;min-inline-size:0;display:flex}.progress{font-size:var(--question-box-progress-font-size);color:var(--question-box-muted-color);margin:0}.title{font-size:var(--question-box-title-font-size);font-weight:var(--luzmo-font-weight-bold);line-height:var(--question-box-title-line-height);margin:0}.title:focus,.summary-heading:focus{outline:none}.title:focus-visible,.summary-heading:focus-visible{-webkit-text-decoration-color:var(--question-box-focus-ring-color);text-decoration-color:var(--question-box-focus-ring-color);text-decoration-line:underline;text-decoration-thickness:var(--question-box-focus-ring-width);text-underline-offset:var(--question-box-focus-ring-gap);outline:none}.description{color:var(--question-box-muted-color);font-size:inherit;margin:0;margin-block-start:var(--question-box-heading-copy-offset);line-height:1.4}.close{flex-shrink:0}.body{gap:var(--question-box-option-gap);max-block-size:var(--luzmo-question-box-body-max-block-size,var(--question-box-body-max-block-size));padding-block:var(--question-box-body-focus-inset);margin-block:calc(var(--question-box-body-focus-inset) * -1);flex-direction:column;display:flex;overflow:hidden auto}.body::-webkit-scrollbar{width:var(--luzmo-question-box-scrollbar-width,var(--question-box-scrollbar-width));height:var(--luzmo-question-box-scrollbar-width,var(--question-box-scrollbar-width))}.body::-webkit-scrollbar-track{background:var(--luzmo-question-box-scrollbar-track-background,var(--question-box-scrollbar-track-background));border-radius:var(--luzmo-question-box-scrollbar-track-border-radius,var(--question-box-scrollbar-track-border-radius))}.body::-webkit-scrollbar-thumb{background:var(--luzmo-question-box-scrollbar-thumb-background,var(--question-box-scrollbar-thumb-background));border-radius:var(--luzmo-question-box-scrollbar-thumb-border-radius,var(--question-box-scrollbar-thumb-border-radius))}.body::-webkit-scrollbar-thumb:hover{background:var(--luzmo-question-box-scrollbar-thumb-hover-background,var(--question-box-scrollbar-thumb-hover-background))}.body{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-question-box-scrollbar-thumb-background,var(--question-box-scrollbar-thumb-background)) var(--luzmo-question-box-scrollbar-track-background,var(--question-box-scrollbar-track-background))}.options{box-sizing:border-box;flex-direction:column;inline-size:100%;min-inline-size:0;display:flex}.options--descriptive luzmo-radio,.options--descriptive luzmo-checkbox,.options--descriptive .other-option-answer{padding-block:var(--luzmo-question-box-descriptive-option-padding-block,var(--question-box-descriptive-option-padding-block))}.body:has(.options--descriptive){margin-block:calc(var(--question-box-option-padding-block) - var(--question-box-body-focus-inset) - var(--luzmo-question-box-descriptive-option-padding-block,var(--question-box-descriptive-option-padding-block)))}luzmo-radio,luzmo-checkbox{box-sizing:border-box;inline-size:100%;min-block-size:var(--question-box-option-min-block-size);padding-block:var(--question-box-option-padding-block);padding-inline:var(--question-box-option-padding-inline);border-block-end-width:var(--luzmo-question-box-divider-width,var(--question-box-divider-width));border-block-end-style:solid;border-block-end-color:var(--luzmo-question-box-divider-color,var(--question-box-divider-color));border-radius:var(--luzmo-border-radius-s);align-items:center;display:flex}luzmo-radio:hover,luzmo-checkbox:hover{background-color:var(--question-box-option-hover-background)}.other-option-row{align-items:center;gap:var(--question-box-option-gap);box-sizing:border-box;border-block-end-width:var(--luzmo-question-box-divider-width,var(--question-box-divider-width));border-block-end-style:solid;border-block-end-color:var(--luzmo-question-box-divider-color,var(--question-box-divider-color));inline-size:100%;max-inline-size:100%;display:flex}.other-option-answer{align-items:center;gap:var(--question-box-option-gap);box-sizing:border-box;min-inline-size:0;min-block-size:var(--question-box-option-min-block-size);padding-block:var(--question-box-option-padding-block);padding-inline:var(--question-box-option-padding-inline);border-radius:var(--luzmo-border-radius-s);flex:1;display:flex}.other-option-answer:hover{background-color:var(--question-box-option-hover-background)}luzmo-radio.other-option,luzmo-checkbox.other-option{border:0;flex:none;min-block-size:auto;inline-size:auto;padding:0}luzmo-radio.other-option{--luzmo-radio-button-top-to-control:0px}luzmo-radio.numbered-option{--luzmo-radio-button-control-size:0px;--luzmo-radio-button-top-to-control:0px;--luzmo-radio-text-to-control:0px;--luzmo-radio-border-width:0px;--luzmo-radio-focus-indicator-width:0px}luzmo-checkbox.numbered-option{--luzmo-checkbox-control-size:0px;--luzmo-checkbox-text-to-control:0px;--luzmo-checkbox-top-to-text:0px;--luzmo-checkbox-border-width:0px;--luzmo-checkbox-selected-border-width:0px;--luzmo-checkbox-focus-indicator-width:0px}luzmo-radio.numbered-option::part(control),luzmo-checkbox.numbered-option::part(control){display:none}luzmo-radio.other-option:hover,luzmo-checkbox.other-option:hover{background-color:#0000}.other-field{inline-size:auto;min-inline-size:0;max-inline-size:100%;min-block-size:var(--question-box-other-field-min-block-size);font-size:var(--question-box-other-field-font-size);--luzmo-text-field-width:100%;--luzmo-text-field-height:var(--question-box-other-field-min-block-size);--luzmo-text-field-background-color:transparent;--luzmo-text-field-background-color-disabled:transparent;--luzmo-text-field-placeholder-font-size:var(--question-box-other-field-font-size);--luzmo-text-field-border-width:0px;--luzmo-text-field-spacing-inline:0px;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px;flex:1;justify-content:center}.other-primary{flex:none}.other-actions{box-sizing:border-box;justify-content:flex-end;align-items:center;gap:var(--question-box-copy-gap-detailed);inline-size:100%;padding-inline:var(--question-box-option-padding-inline);margin-block-start:var(--question-box-copy-gap-detailed);display:flex}.selected-count{font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size))}.other-actions .selected-count{min-inline-size:0;margin-inline-end:auto}.other-actions luzmo-button{flex:none}.status-error{--luzmo-helptext-font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size));--luzmo-helptext-min-height:0;--luzmo-helptext-top-to-text:0;--luzmo-helptext-bottom-to-text:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.option-content{align-items:flex-start;gap:var(--question-box-option-gap);inline-size:100%;display:flex}.option-number{forced-color-adjust:none;inline-size:var(--question-box-option-number-size);block-size:var(--question-box-option-number-size);box-sizing:border-box;border:var(--luzmo-border-width) solid var(--highcontrast-question-box-option-number-border-color,var(--question-box-option-number-border-color));border-radius:var(--luzmo-border-radius);color:var(--highcontrast-question-box-option-number-color,var(--question-box-option-number-color));background-color:var(--highcontrast-question-box-option-number-background,var(--question-box-option-number-background));transition:color var(--luzmo-animation-duration) ease-in-out, border-color var(--luzmo-animation-duration) ease-in-out, background-color var(--luzmo-animation-duration) ease-in-out;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}luzmo-radio[checked] .option-number,luzmo-checkbox[checked] .option-number{color:var(--highcontrast-question-box-option-number-selected-color,var(--question-box-option-number-selected-color));border-color:var(--highcontrast-question-box-option-number-selected-background,var(--question-box-option-number-selected-background));background-color:var(--highcontrast-question-box-option-number-selected-background,var(--question-box-option-number-selected-background))}luzmo-radio[data-focus-visible] .option-number,luzmo-checkbox[data-focus-visible] .option-number,.option-number--focused{outline:var(--luzmo-question-box-focus-ring-width,var(--question-box-focus-ring-width)) solid var(--highcontrast-question-box-focus-ring-color,var(--luzmo-question-box-focus-ring-color,var(--question-box-focus-ring-color)));outline-offset:var(--luzmo-question-box-focus-ring-gap,var(--question-box-focus-ring-gap))}luzmo-radio[disabled] .option-number,luzmo-checkbox[disabled] .option-number{opacity:.5}.option-copy{gap:var(--question-box-copy-gap);flex-direction:column;flex:1;min-inline-size:0;display:flex}.option-edit luzmo-icon{color:inherit}.option-heading{align-items:center;gap:var(--question-box-recommended-gap);min-block-size:var(--question-box-option-number-size);flex-wrap:wrap;display:flex}.option-text{align-items:baseline;gap:var(--question-box-recommended-gap);flex-wrap:wrap;min-inline-size:0;display:flex}.option-description{color:var(--question-box-muted-color);line-height:1.4}.option-hint{color:var(--question-box-muted-color);font-size:var(--luzmo-font-size-s)}.footer{justify-content:space-between;align-items:center;gap:var(--question-box-option-gap);flex-wrap:wrap;display:flex}.status{color:var(--question-box-muted-color);font-size:var(--luzmo-question-box-selected-count-font-size,var(--question-box-selected-count-font-size))}.actions{justify-content:flex-end;gap:var(--question-box-recommended-gap);flex-wrap:wrap;margin-inline-start:auto;display:flex}:host([dir=rtl]) .step-navigation luzmo-icon{transform:scaleX(-1)}.resolved{gap:var(--question-box-summary-gap)}.summary-actions{justify-content:flex-end;gap:var(--question-box-recommended-gap);flex-wrap:wrap;display:flex}.summary{gap:var(--question-box-option-gap);flex-direction:column;display:flex}.summary-heading{font-size:var(--question-box-title-font-size);line-height:var(--question-box-title-line-height);margin:0}.summary-row{gap:var(--question-box-copy-gap);flex-direction:column;display:flex}.summary-title{color:var(--question-box-muted-color);font-size:var(--luzmo-font-size-s)}.summary-answer{font-weight:var(--luzmo-font-weight-bold)}@media (prefers-reduced-motion:reduce){.option-number{transition-duration:0s}}@media (forced-colors:active){:host{--highcontrast-question-box-border-color:CanvasText;--highcontrast-question-box-background-color:Canvas;--highcontrast-question-box-color:CanvasText;--highcontrast-question-box-focus-ring-color:Highlight;--highcontrast-question-box-option-number-border-color:ButtonText;--highcontrast-question-box-option-number-color:ButtonText;--highcontrast-question-box-option-number-background:Canvas;--highcontrast-question-box-option-number-selected-background:Highlight;--highcontrast-question-box-option-number-selected-color:HighlightText}}:host{--question-box-font-family:var(--luzmo-font-family);--question-box-font-size:var(--luzmo-font-size-m);--question-box-color:var(--luzmo-font-color);--question-box-muted-color:color-mix(in srgb, var(--luzmo-font-color) 80%, var(--luzmo-background-color));--question-box-background-color:var(--luzmo-background-color);--question-box-border-color:var(--luzmo-border-color);--question-box-border-width:var(--luzmo-border-width);--question-box-border-radius:var(--luzmo-border-radius-l);--question-box-padding:var(--luzmo-spacing-5);--question-box-gap:var(--luzmo-spacing-4);--question-box-header-gap:var(--luzmo-spacing-3);--question-box-header-actions-gap:var(--luzmo-spacing-2);--question-box-header-actions-inset:var(--luzmo-spacing-2);--question-box-header-control-size:var(--luzmo-component-height);--question-box-max-inline-size:40rem;--question-box-body-max-block-size:24rem;--question-box-title-font-size:var(--question-box-font-size);--question-box-title-line-height:1.3;--question-box-progress-font-size:var(--luzmo-font-size-s);--question-box-selected-count-font-size:var(--luzmo-font-size-s);--question-box-option-min-block-size:var(--luzmo-component-height);--question-box-option-hover-background:var(--luzmo-background-color-hover);--question-box-option-number-size:var(--luzmo-component-height-xs);--question-box-descriptive-option-padding-block:var(--question-box-option-padding-block);--question-box-option-padding-block:var(--luzmo-spacing-1);--question-box-option-padding-inline:var(--luzmo-spacing-3);--question-box-option-gap:var(--luzmo-spacing-3);--question-box-heading-copy-gap:0px;--question-box-heading-copy-offset:calc(var(--question-box-font-size) * -.25);--question-box-copy-gap:var(--luzmo-spacing-1);--question-box-copy-gap-detailed:var(--luzmo-spacing-2);--question-box-recommended-gap:var(--luzmo-spacing-2);--question-box-summary-gap:var(--luzmo-spacing-4);--question-box-body-focus-inset:calc(var(--luzmo-indicator-gap) + var(--luzmo-indicator-width));--question-box-focus-ring-width:var(--luzmo-indicator-width);--question-box-focus-ring-gap:var(--luzmo-indicator-gap);--question-box-focus-ring-color:var(--luzmo-indicator-color);--question-box-divider-width:0px;--question-box-option-number-background:var(--luzmo-background-color);--question-box-option-number-border-color:var(--luzmo-border-color);--question-box-option-number-color:var(--luzmo-font-color);--question-box-option-number-selected-background:var(--luzmo-primary);--question-box-option-number-selected-color:var(--luzmo-primary-inverse-color);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size);--question-box-divider-color:var(--luzmo-border-color);--question-box-scrollbar-width:var(--luzmo-scrollbar-size);--question-box-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--question-box-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--question-box-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--question-box-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--question-box-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background)}:host([size=s]){--question-box-padding:var(--luzmo-spacing-4);--question-box-font-size:var(--luzmo-font-size-s);--question-box-selected-count-font-size:var(--luzmo-font-size-xs);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-s);--question-box-option-min-block-size:var(--luzmo-component-height-s);--question-box-option-number-size:var(--luzmo-component-height-xs);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}:host([size=l]){--question-box-font-size:var(--luzmo-font-size-l);--question-box-selected-count-font-size:var(--luzmo-font-size-m);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-l);--question-box-option-min-block-size:var(--luzmo-component-height-l);--question-box-option-number-size:var(--luzmo-component-height-s);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}:host([size=xl]){--question-box-font-size:var(--luzmo-font-size-xl);--question-box-selected-count-font-size:var(--luzmo-font-size-l);--question-box-title-font-size:var(--question-box-font-size);--question-box-header-control-size:var(--luzmo-component-height-xl);--question-box-option-min-block-size:var(--luzmo-component-height-xl);--question-box-option-number-size:var(--luzmo-component-height);--question-box-other-field-min-block-size:var(--question-box-option-min-block-size);--question-box-other-field-font-size:var(--question-box-font-size)}`,g=`__other__`,_={continue:`Next`,back:`Back`,submit:`Submit`,skip:`Skip`,change:`Change`,close:`Close`,other:`Something else`,otherPlaceholder:`Something else`,recommended:`Recommended`,answerTitle:`Answer`,answersTitle:`Answers`,progress:`{current} of {total}`,selectedCount:`{count} selected`,selectedCountOne:`{count} selected`,recommendedSuffix:`{label} ({recommended})`,answer:`{answer}`,requiredSelectionDescription:`Choose one or more options.`,selectionRangeDescription:`Choose between {min} and {max} options.`,minSelectedError:`Choose at least {min} options.`,maxSelectedError:`Choose at most {max} options.`,otherRequiredError:`Enter a value for this option.`},v=e=>`${e}Other`,y=e=>!!e.other||e.options.length===0,b=e=>typeof e.other==`object`&&e.other?e.other:{},x=e=>Object.fromEntries(Object.entries(e)),S=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})},C=(e,t)=>{let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let r of n){let n=e[r],i=t[r];if(Array.isArray(n)||Array.isArray(i)){if(!Array.isArray(n)||!Array.isArray(i)||n.length!==i.length||n.some((e,t)=>e!==i[t]))return!1}else if(n!==i)return!1}return!0},w=e=>{let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n},te=e=>{let t=new Set(e.options.map(e=>e.value));return y(e)&&t.add(g),t},T=(e,t)=>{let n=t[e.id];return e.type===`single`?typeof n==`string`&&n?[n]:[]:Array.isArray(n)?w(n):[]},E=(e,t)=>T(e,t).includes(g),D=e=>{let t=Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));return{..._,...t}},O=(e,t)=>{let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{${e}}`,r);return n},k=e=>{let t=new Set;for(let n of e){if(!n.id)throw TypeError(`luzmo-question-box: every question needs an id.`);if(t.has(n.id))throw TypeError(`luzmo-question-box: duplicate question id "${n.id}".`);t.add(n.id);let r=v(n.id);if(e.some(e=>e.id===r))throw TypeError(`luzmo-question-box: question id "${r}" collides with Other text for "${n.id}".`);if(n.type!==`multiple`&&(n.minSelected!==void 0||n.maxSelected!==void 0))throw TypeError(`luzmo-question-box: minSelected and maxSelected only apply to multiple-choice question "${n.id}".`);for(let[e,t]of[[`minSelected`,n.minSelected],[`maxSelected`,n.maxSelected]])if(t!==void 0&&(!Number.isInteger(t)||t<0))throw TypeError(`luzmo-question-box: ${e} must be a non-negative integer on "${n.id}".`);let i=n.minSelected??+!!n.required;if(n.maxSelected!==void 0&&i>n.maxSelected)throw TypeError(`luzmo-question-box: minSelected cannot exceed maxSelected on "${n.id}".`);let a=n.options.filter(e=>!e.disabled).length+ +!!y(n);if(n.type===`multiple`&&i>a)throw TypeError(`luzmo-question-box: minSelected exceeds the available options on "${n.id}".`);let o=new Set;for(let e of n.options){if(!e.value)throw TypeError(`luzmo-question-box: option values cannot be empty on "${n.id}".`);if(e.value===`__other__`)throw TypeError(`luzmo-question-box: "${g}" is reserved on "${n.id}".`);if(o.has(e.value))throw TypeError(`luzmo-question-box: duplicate option value "${e.value}" on "${n.id}".`);o.add(e.value)}}},A=(e,t)=>{let n=Object.fromEntries([]);for(let r of e){let e=te(r),i=t[r.id],a=Object.hasOwn(t,r.id);if(r.type===`single`)typeof i==`string`&&e.has(i)?S(n,r.id,i):!a&&typeof r.default==`string`&&(e.has(r.default)||r.options.length===0)&&S(n,r.id,r.options.length===0?g:r.default);else{let t=[...r.options.map(e=>e.value),...y(r)?[g]:[]],o=w(Array.isArray(i)?i.filter(t=>e.has(t)):[]);if(o.length>0)S(n,r.id,t.filter(e=>o.includes(e)));else if(!a&&Array.isArray(r.default)){let i=w(r.default.filter(t=>e.has(t)));i.length>0&&S(n,r.id,t.filter(e=>i.includes(e)))}}let o=v(r.id),s=t[o];typeof s==`string`?S(n,o,s):!a&&r.options.length===0&&typeof r.default==`string`&&S(n,o,r.default)}return n},j=e=>e.minSelected??+!!e.required,ne=(e,t)=>{let n=j(e),r=e.maxSelected;return n>0&&r!==void 0?O(t.selectionRangeDescription,{min:String(n),max:String(r)}):n===1?t.requiredSelectionDescription:n>1?O(t.minSelectedError,{min:String(n)}):r===void 0?void 0:O(t.maxSelectedError,{max:String(r)})},M=(e,t)=>{let n=T(e,t),r=j(e),i=e.maxSelected;if(n.length<r)return r<=1?`missing`:`minimum`;if(i!==void 0&&n.length>i)return`maximum`;if(E(e,t)&&!String(t[v(e.id)]??``).trim())return`otherText`},re=(e,t)=>M(e,t)!==void 0,ie=(e,t,n)=>{switch(M(e,t)){case`minimum`:return O(n.minSelectedError,{min:String(j(e))});case`maximum`:return O(n.maxSelectedError,{max:String(e.maxSelected)});case`otherText`:return n.otherRequiredError;default:return}},ae=(e,t,n,r,i)=>{if(i||t.disabled)return!0;if(e.type!==`multiple`||n)return!1;let a=e.maxSelected;return a!==void 0&&T(e,r).length>=a},oe=(e,t)=>O(e===1?t.selectedCountOne:t.selectedCount,{count:String(e)}),N,se=(e,t)=>{try{return N?.language!==t&&(N={language:t,formatter:new Intl.ListFormat(t,{style:`narrow`,type:`conjunction`})}),N.formatter.format(e)}catch{return e.join(`, `)}},ce=(e,t)=>e.recommended?O(t.recommendedSuffix,{label:e.label,recommended:t.recommended}):e.label,P=e=>{let t=e.options.map(e=>({const:e.value,title:e.label}));return y(e)&&e.options.length>0&&t.push({const:g,title:typeof e.other==`object`&&e.other.label||_.other}),t},F=e=>{let t={type:`string`};return typeof e.other==`object`&&e.other.label&&(t.title=e.other.label),t},I=e=>{let t=[],n=[];for(let r of e){if(r.options.length===0){let e={type:`string`};r.title&&(e.title=r.title),r.description&&(e.description=r.description),typeof r.default==`string`&&(e.default=r.default),t.push([r.id,e]),r.required&&n.push(r.id);continue}let e=P(r);if(r.type===`single`){let n={type:`string`,oneOf:e};r.title&&(n.title=r.title),r.description&&(n.description=r.description),typeof r.default==`string`&&r.options.some(e=>e.value===r.default)&&(n.default=r.default),t.push([r.id,n])}else{let n={type:`array`,items:{anyOf:e}};r.title&&(n.title=r.title),r.description&&(n.description=r.description);let i=r.minSelected??(r.required?1:void 0);if(i!==void 0&&(n.minItems=i),r.maxSelected!==void 0&&(n.maxItems=r.maxSelected),Array.isArray(r.default)){let t=new Set(e.map(e=>e.const)),i=r.default.filter(e=>t.has(e));i.length>0&&(n.default=i)}t.push([r.id,n])}r.required&&n.push(r.id),y(r)&&t.push([v(r.id),F(r)])}let r=Object.fromEntries(t);return n.length>0?{type:`object`,properties:r,required:n}:{type:`object`,properties:r}},L=(e,t)=>String(t[v(e.id)]??``).trim(),R=(e,t)=>{let n=[];for(let r of e){let e=L(r,t);if(r.options.length===0){e&&n.push([r.id,e]);continue}let i=T(r,t);r.type===`single`?i[0]&&n.push([r.id,i[0]]):i.length>0&&n.push([r.id,[...i]]),y(r)&&E(r,t)&&e&&n.push([v(r.id),e])}return Object.fromEntries(n)},z=e=>!!e&&typeof e==`object`&&!Array.isArray(e),B=e=>z(e)?e:{},V=e=>{let t=e.oneOf??e.items?.anyOf;if(Array.isArray(t)){let e=[],n=new Set;for(let r of t)!z(r)||typeof r.const!=`string`||!r.const||n.has(r.const)||(n.add(r.const),e.push({value:r.const,label:typeof r.title==`string`&&r.title?r.title:r.const}));return{declared:!0,options:e}}let n=e.enum??e.items?.enum;if(Array.isArray(n)){let t=e.enumNames??e.items?.enumNames,r=new Set,i=[];for(let[e,a]of n.entries()){if(typeof a!=`string`||!a||r.has(a))continue;r.add(a);let n=t?.[e];i.push({value:a,label:typeof n==`string`&&n?n:a})}return{declared:!0,options:i}}return{declared:!1,options:[]}},H=e=>v(e),U=e=>e.format!==void 0||e.minLength!==void 0||e.maxLength!==void 0||e.pattern!==void 0,W=e=>e.type===`string`&&!V(e).declared&&!U(e),le=e=>{if(e.type!==`object`||!e.properties)return[];let t=e.properties,n=new Set(e.required??[]),r=new Set;for(let e of Object.keys(t)){let n=H(e),i=V(B(t[e])),a=B(t[n]);n in t&&W(a)&&i.options.some(e=>e.value===`__other__`)&&r.add(n)}let i=[];for(let[e,a]of Object.entries(t)){if(r.has(e))continue;let o=B(a),s=V(o),c=s.options.some(e=>e.value===g),l=H(e);if(c&&!r.has(l))continue;let u=s.options.filter(e=>e.value!==g);if(o.type===`number`||o.type===`integer`||o.type===`boolean`||o.type!==`string`&&o.type!==`array`||s.declared&&s.options.length===0||o.type===`array`&&!s.declared||o.type===`string`&&!s.declared&&U(o))continue;let d={id:e,type:o.type===`array`?`multiple`:`single`,title:o.title||e,options:u};if(o.description&&(d.description=o.description),n.has(e)&&(d.required=!0),o.type===`array`?(o.minItems!==void 0&&(d.minSelected=o.minItems),o.maxItems!==void 0&&(d.maxSelected=o.maxItems),Array.isArray(o.default)&&o.default.length>0&&(d.default=o.default)):typeof o.default==`string`&&(d.default=o.default),c&&l in t){let e=B(t[l]);d.other=!e.title||{label:e.title}}i.push(d)}return i};function G(e){switch(e){case`s`:return`xs`;case`m`:return`s`;case`l`:return`m`;default:return`l`}}function K(e){switch(e){case`m`:return`xs`;case`l`:return`s`;case`xl`:case`xxl`:return`m`;default:return`xxs`}}function q(e){return e.step>=e.questions.length-1}function ue(e,t){let n=e.selectedValues(t);return n.length===0?``:se(n.map(n=>{if(n===`__other__`)return String(e.value[v(t.id)]??e.copy.other);let r=t.options.find(e=>e.value===n);return r?ce(r,e.copy):n}),e.language)}function de(n,r){let i=ue(n,r);return e`<span class="summary-value">${n.copy.answer.split(`{answer}`).map((n,r)=>e`${r>0?e`<span class="summary-answer">${i}</span>`:t}${n}`)}</span>`}function fe(n){let r=n.copy;return e`
21
21
  <div class="card resolved">
22
22
  <div class="summary">
23
23
  <h2 class="summary-heading" id="resolved-title" tabindex="-1">
@@ -17,7 +17,7 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{g as r,i,l as a,y as o}from"./chunks/lucero-runtime-DGJ9-isg.js";import{M as s,n as c,x as l}from"./chunks/luzmo-icons-BKu82bUU.js";import"./chunks/icon-Csu47YgC.js";import{t as u}from"./chunks/text-field-BWZK7Km7.js";import"./chunks/button-UUPI5TRz.js";var d=`@media (forced-colors:active){#text-field #text-field,#text-field #text-field .input{--highcontrast-search-color-default:CanvasText;--highcontrast-search-color-hover:CanvasText;--highcontrast-search-color-focus:CanvasText;--highcontrast-search-color-disabled:GrayText}#text-field #button .luzmo-ClearButton-fill{forced-color-adjust:none;background-color:initial}}#text-field{--search-button-inline-size:var(--search-block-size);--search-min-inline-size:calc(var(--search-min-inline-multiplier) * var(--search-block-size));--luzmo-text-field-font-family:var(--luzmo-search-font-family,var(--search-font-family));--luzmo-text-field-font-weight:var(--luzmo-search-font-weight,var(--search-font-weight));--luzmo-text-field-border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));--luzmo-text-field-border-width:var(--luzmo-search-border-width,var(--search-border-width));--luzmo-text-field-focus-indicator-gap:var(--luzmo-search-focus-indicator-gap,var(--search-focus-indicator-gap));--luzmo-text-field-focus-indicator-width:var(--luzmo-search-focus-indicator-width,var(--search-focus-indicator-width));--luzmo-text-field-focus-indicator-color:var(--luzmo-search-focus-indicator-color,var(--search-focus-indicator-color));--luzmo-text-field-text-color-default:var(--luzmo-search-color-default,var(--search-color-default));--luzmo-text-field-text-color-hover:var(--luzmo-search-color-hover,var(--search-color-hover));--luzmo-text-field-text-color-focus:var(--luzmo-search-color-focus,var(--search-color-focus));--luzmo-text-field-text-color-focus-hover:var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover));--luzmo-text-field-text-color-keyboard-focus:var(--luzmo-search-color-key-focus,var(--search-color-key-focus));--luzmo-text-field-text-color-disabled:var(--luzmo-search-color-disabled,var(--search-color-disabled));--luzmo-text-field-border-color:var(--luzmo-search-border-color-default,var(--search-border-color-default));--luzmo-text-field-border-color-hover:var(--luzmo-search-border-color-hover,var(--search-border-color-hover));--luzmo-text-field-border-color-focus:var(--luzmo-search-border-color-focus,var(--search-border-color-focus));--luzmo-text-field-border-color-focus-hover:var(--luzmo-search-border-color-focus-hover,var(--search-border-color-focus-hover));--luzmo-text-field-border-color-keyboard-focus:var(--luzmo-search-border-color-key-focus,var(--search-border-color-key-focus));--luzmo-text-field-border-color-disabled:var(--luzmo-search-border-color-disabled,var(--search-border-color-disabled));--luzmo-text-field-background-color:var(--luzmo-search-background-color,var(--search-background-color));--luzmo-text-field-background-color-disabled:var(--luzmo-search-background-color-disabled,var(--search-background-color-disabled));inline-size:var(--luzmo-search-inline-size,var(--search-inline-size));min-inline-size:var(--luzmo-search-min-inline-size,var(--search-min-inline-size));display:inline-block;position:relative}#text-field .luzmo-HelpText{margin-block-start:var(--luzmo-search-to-help-text,var(--search-to-help-text))}#button{height:var(--search-block-size);width:var(--search-block-size);position:absolute;inset-block-start:0;inset-inline-end:0}#button,#button .luzmo-ClearButton-fill{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius))}:is(:host([invalid]) #form:has(#button) .icon,:host([valid]) #form:has(#button) .icon){inset-inline-end:var(--luzmo-search-button-inline-size,var(--search-button-inline-size))}:is(:host([invalid]:not([quiet])) #form:has(#button) .input,:host([valid]:not([quiet])) #form:has(#button) .input){padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) + var(--search-validation-icon-size) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)) - var(--luzmo-search-border-width,var(--search-border-width)))}:is(:host([invalid][quiet]) #form:has(#button) .input,:host([valid][quiet]) #form:has(#button) .input){padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) + var(--search-validation-icon-size) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)))}#text-field.is-disabled #button{display:none}#text-field{inline-size:100%}.icon-search{--search-color:var(--highcontrast-search-color-default,var(--luzmo-search-color-default,var(--search-color-default)));color:var(--search-color);margin-block:auto;display:block;position:absolute;inset-block:0}#text-field.is-focused .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus,var(--search-color-focus)))}#text-field.is-disabled .icon-search,:host([disabled]) #text-field .icon-search,:host([readonly]) #text-field .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}@media (hover:hover){#text-field:hover .icon-search{--search-color:var(--highcontrast-search-color-hover,var(--luzmo-search-color-hover,var(--search-color-hover)))}#text-field.is-focused:hover .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover)))}#text-field.is-disabled:hover .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}}.input{appearance:none;block-size:var(--luzmo-search-block-size,var(--search-block-size));font-style:var(--luzmo-search-font-style,var(--search-font-style));line-height:var(--luzmo-search-line-height,var(--search-line-height));padding-block-start:calc(var(--luzmo-search-top-to-text,var(--search-top-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)));padding-block-end:calc(var(--luzmo-search-bottom-to-text,var(--search-bottom-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)))}.input::-webkit-search-cancel-button{appearance:none}.input::-webkit-search-decoration{appearance:none}:host #text-field .icon-search{inset-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host(:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon]:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon][quiet]) #text-field .input{padding-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host([quiet]){--search-quiet-button-offset:var(--luzmo-search-quiet-button-offset,calc(var(--luzmo-search-block-size,var(--search-block-size)) / 2 - var(--luzmo-search-icon-size,var(--search-icon-size)) / 2))}:host([quiet]) #button .luzmo-ClearButton-icon{transform:translateX(var(--search-quiet-button-offset))}:host([quiet]) #text-field .input{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));padding-block-start:var(--luzmo-search-top-to-text,var(--search-top-to-text));padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--search-quiet-button-offset))}:host{--search-border-color-default:var(--luzmo-border-color);--search-border-color-hover:rgba(var(--luzmo-primary-rgb), .3);--search-border-color-focus:var(--luzmo-primary);--search-border-color-focus-hover:var(--luzmo-primary);--search-border-color-key-focus:var(--luzmo-primary);--search-inline-size:192px;--search-min-inline-multiplier:3;--search-to-help-text:0px;--search-top-to-text:var(--luzmo-spacing-2);--search-bottom-to-text:var(--luzmo-spacing-2);--search-focus-indicator-width:var(--luzmo-indicator-width);--search-focus-indicator-gap:-1px;--search-focus-indicator-color:var(--luzmo-primary);--search-font-family:var(--luzmo-font-family);--search-font-weight:var(--luzmo-font-weight);--search-font-style:var(--luzmo-font-style);--search-line-height:var(--luzmo-line-height);--search-color-default:var(--luzmo-font-color);--search-color-hover:var(--luzmo-font-color-hover);--search-color-focus:var(--luzmo-font-color-focus);--search-color-focus-hover:var(--luzmo-font-focus);--search-color-key-focus:var(--luzmo-font-color-focus);--search-border-width:var(--luzmo-border-width);--search-background-color:var(--luzmo-background-color);--search-color-disabled:var(--luzmo-disabled-color);--search-background-color-disabled:var(--luzmo-background-color-disabled);--search-border-color-disabled:var(--luzmo-border-color-disabled)}:host #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height);--search-icon-size:var(--luzmo-font-size-l);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([invalid]) #text-field{--search-validation-icon-size:var(--luzmo-text-field-icon-size-invalid,var(--text-field-icon-size-invalid))}:host([valid]) #text-field{--search-validation-icon-size:var(--luzmo-text-field-icon-size-valid,var(--text-field-icon-size-valid))}:host([size=s]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-3);--search-block-size:var(--luzmo-component-height-s);--search-icon-size:var(--luzmo-font-size);--search-text-to-icon:var(--luzmo-spacing-3)}:host([size=l]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-4);--search-block-size:var(--luzmo-component-height-l);--search-icon-size:var(--luzmo-font-size-xl);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height-xl);--search-icon-size:var(--luzmo-font-size-xxl);--search-text-to-icon:var(--luzmo-spacing-4)}:host([quiet]) #text-field{--search-background-color:transparent;--search-background-color-disabled:transparent;--search-border-color-disabled:var(--luzmo-border-color-disabled);--search-border-radius:0;--search-edge-to-visual:0px}:host{--luzmo-text-field-spacing-inline:var(--alias-infield-button-full-height-m)}input::-webkit-search-cancel-button{display:none}@media (forced-colors:active){luzmo-clear-button{--clear-button-fill-background-color:transparent;--clear-button-fill-background-color-disabled:transparent;--clear-button-fill-background-color-down:transparent;--clear-button-fill-background-color-hover:transparent;--clear-button-fill-background-color-key-focus:transparent}}`,f=e=>e.stopPropagation(),p=e=>e===`s`?c:e===`l`?s:l,m=class extends u{constructor(...e){super(...e),this.action=``,this.label=`Search`,this.placeholder=`Search`,this.hideIcon=!1}static get styles(){return[...super.styles,n(d)]}handleSubmit(e){this.dispatchEvent(new Event(`submit`,{cancelable:!0,bubbles:!0}))||e.preventDefault()}handleKeydown(e){let{code:t}=e;t===`Escape`&&this.holdValueOnEscape||!this.value||t!==`Escape`||this.reset()}async reset(){this.value=``,await this.updateComplete,this.focusElement.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})),this.focusElement.dispatchEvent(new InputEvent(`change`,{bubbles:!0}))}renderField(){return e`
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{g as r,i,l as a,y as o}from"./chunks/lucero-runtime-DGJ9-isg.js";import{j as s,n as c,x as l}from"./chunks/luzmo-icons-CJa-aByT.js";import"./chunks/icon-Dy6J1QeX.js";import{t as u}from"./chunks/text-field-BrlDeJsx.js";import"./chunks/button-Dykw3TSO.js";var d=`@media (forced-colors:active){#text-field #text-field,#text-field #text-field .input{--highcontrast-search-color-default:CanvasText;--highcontrast-search-color-hover:CanvasText;--highcontrast-search-color-focus:CanvasText;--highcontrast-search-color-disabled:GrayText}#text-field #button .luzmo-ClearButton-fill{forced-color-adjust:none;background-color:initial}}#text-field{--search-button-inline-size:var(--search-block-size);--search-min-inline-size:calc(var(--search-min-inline-multiplier) * var(--search-block-size));--luzmo-text-field-font-family:var(--luzmo-search-font-family,var(--search-font-family));--luzmo-text-field-font-weight:var(--luzmo-search-font-weight,var(--search-font-weight));--luzmo-text-field-border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));--luzmo-text-field-border-width:var(--luzmo-search-border-width,var(--search-border-width));--luzmo-text-field-focus-indicator-gap:var(--luzmo-search-focus-indicator-gap,var(--search-focus-indicator-gap));--luzmo-text-field-focus-indicator-width:var(--luzmo-search-focus-indicator-width,var(--search-focus-indicator-width));--luzmo-text-field-focus-indicator-color:var(--luzmo-search-focus-indicator-color,var(--search-focus-indicator-color));--luzmo-text-field-text-color-default:var(--luzmo-search-color-default,var(--search-color-default));--luzmo-text-field-text-color-hover:var(--luzmo-search-color-hover,var(--search-color-hover));--luzmo-text-field-text-color-focus:var(--luzmo-search-color-focus,var(--search-color-focus));--luzmo-text-field-text-color-focus-hover:var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover));--luzmo-text-field-text-color-keyboard-focus:var(--luzmo-search-color-key-focus,var(--search-color-key-focus));--luzmo-text-field-text-color-disabled:var(--luzmo-search-color-disabled,var(--search-color-disabled));--luzmo-text-field-border-color:var(--luzmo-search-border-color-default,var(--search-border-color-default));--luzmo-text-field-border-color-hover:var(--luzmo-search-border-color-hover,var(--search-border-color-hover));--luzmo-text-field-border-color-focus:var(--luzmo-search-border-color-focus,var(--search-border-color-focus));--luzmo-text-field-border-color-focus-hover:var(--luzmo-search-border-color-focus-hover,var(--search-border-color-focus-hover));--luzmo-text-field-border-color-keyboard-focus:var(--luzmo-search-border-color-key-focus,var(--search-border-color-key-focus));--luzmo-text-field-border-color-disabled:var(--luzmo-search-border-color-disabled,var(--search-border-color-disabled));--luzmo-text-field-background-color:var(--luzmo-search-background-color,var(--search-background-color));--luzmo-text-field-background-color-disabled:var(--luzmo-search-background-color-disabled,var(--search-background-color-disabled));inline-size:var(--luzmo-search-inline-size,var(--search-inline-size));min-inline-size:var(--luzmo-search-min-inline-size,var(--search-min-inline-size));display:inline-block;position:relative}#text-field .luzmo-HelpText{margin-block-start:var(--luzmo-search-to-help-text,var(--search-to-help-text))}#button{height:var(--search-block-size);width:var(--search-block-size);position:absolute;inset-block-start:0;inset-inline-end:0}#button,#button .luzmo-ClearButton-fill{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius))}:is(:host([invalid]) #form:has(#button) .icon,:host([valid]) #form:has(#button) .icon){inset-inline-end:var(--luzmo-search-button-inline-size,var(--search-button-inline-size))}:is(:host([invalid]:not([quiet])) #form:has(#button) .input,:host([valid]:not([quiet])) #form:has(#button) .input){padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) + var(--search-validation-icon-size) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)) - var(--luzmo-search-border-width,var(--search-border-width)))}:is(:host([invalid][quiet]) #form:has(#button) .input,:host([valid][quiet]) #form:has(#button) .input){padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) + var(--search-validation-icon-size) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)))}#text-field.is-disabled #button{display:none}#text-field{inline-size:100%}.icon-search{--search-color:var(--highcontrast-search-color-default,var(--luzmo-search-color-default,var(--search-color-default)));color:var(--search-color);margin-block:auto;display:block;position:absolute;inset-block:0}#text-field.is-focused .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus,var(--search-color-focus)))}#text-field.is-disabled .icon-search,:host([disabled]) #text-field .icon-search,:host([readonly]) #text-field .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}@media (hover:hover){#text-field:hover .icon-search{--search-color:var(--highcontrast-search-color-hover,var(--luzmo-search-color-hover,var(--search-color-hover)))}#text-field.is-focused:hover .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover)))}#text-field.is-disabled:hover .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}}.input{appearance:none;block-size:var(--luzmo-search-block-size,var(--search-block-size));font-style:var(--luzmo-search-font-style,var(--search-font-style));line-height:var(--luzmo-search-line-height,var(--search-line-height));padding-block-start:calc(var(--luzmo-search-top-to-text,var(--search-top-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)));padding-block-end:calc(var(--luzmo-search-bottom-to-text,var(--search-bottom-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)))}.input::-webkit-search-cancel-button{appearance:none}.input::-webkit-search-decoration{appearance:none}:host #text-field .icon-search{inset-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host(:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon]:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon][quiet]) #text-field .input{padding-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host([quiet]){--search-quiet-button-offset:var(--luzmo-search-quiet-button-offset,calc(var(--luzmo-search-block-size,var(--search-block-size)) / 2 - var(--luzmo-search-icon-size,var(--search-icon-size)) / 2))}:host([quiet]) #button .luzmo-ClearButton-icon{transform:translateX(var(--search-quiet-button-offset))}:host([quiet]) #text-field .input{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));padding-block-start:var(--luzmo-search-top-to-text,var(--search-top-to-text));padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--search-quiet-button-offset))}:host{--search-border-color-default:var(--luzmo-border-color);--search-border-color-hover:rgba(var(--luzmo-primary-rgb), .3);--search-border-color-focus:var(--luzmo-primary);--search-border-color-focus-hover:var(--luzmo-primary);--search-border-color-key-focus:var(--luzmo-primary);--search-inline-size:192px;--search-min-inline-multiplier:3;--search-to-help-text:0px;--search-top-to-text:var(--luzmo-spacing-2);--search-bottom-to-text:var(--luzmo-spacing-2);--search-focus-indicator-width:var(--luzmo-indicator-width);--search-focus-indicator-gap:-1px;--search-focus-indicator-color:var(--luzmo-primary);--search-font-family:var(--luzmo-font-family);--search-font-weight:var(--luzmo-font-weight);--search-font-style:var(--luzmo-font-style);--search-line-height:var(--luzmo-line-height);--search-color-default:var(--luzmo-font-color);--search-color-hover:var(--luzmo-font-color-hover);--search-color-focus:var(--luzmo-font-color-focus);--search-color-focus-hover:var(--luzmo-font-focus);--search-color-key-focus:var(--luzmo-font-color-focus);--search-border-width:var(--luzmo-border-width);--search-background-color:var(--luzmo-background-color);--search-color-disabled:var(--luzmo-disabled-color);--search-background-color-disabled:var(--luzmo-background-color-disabled);--search-border-color-disabled:var(--luzmo-border-color-disabled)}:host #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height);--search-icon-size:var(--luzmo-font-size-l);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([invalid]) #text-field{--search-validation-icon-size:var(--luzmo-text-field-icon-size-invalid,var(--text-field-icon-size-invalid))}:host([valid]) #text-field{--search-validation-icon-size:var(--luzmo-text-field-icon-size-valid,var(--text-field-icon-size-valid))}:host([size=s]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-3);--search-block-size:var(--luzmo-component-height-s);--search-icon-size:var(--luzmo-font-size);--search-text-to-icon:var(--luzmo-spacing-3)}:host([size=l]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-4);--search-block-size:var(--luzmo-component-height-l);--search-icon-size:var(--luzmo-font-size-xl);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height-xl);--search-icon-size:var(--luzmo-font-size-xxl);--search-text-to-icon:var(--luzmo-spacing-4)}:host([quiet]) #text-field{--search-background-color:transparent;--search-background-color-disabled:transparent;--search-border-color-disabled:var(--luzmo-border-color-disabled);--search-border-radius:0;--search-edge-to-visual:0px}:host{--luzmo-text-field-spacing-inline:var(--alias-infield-button-full-height-m)}input::-webkit-search-cancel-button{display:none}@media (forced-colors:active){luzmo-clear-button{--clear-button-fill-background-color:transparent;--clear-button-fill-background-color-disabled:transparent;--clear-button-fill-background-color-down:transparent;--clear-button-fill-background-color-hover:transparent;--clear-button-fill-background-color-key-focus:transparent}}`,f=e=>e.stopPropagation(),p=e=>e===`s`?c:e===`l`?s:l,m=class extends u{constructor(...e){super(...e),this.action=``,this.label=`Search`,this.placeholder=`Search`,this.hideIcon=!1}static get styles(){return[...super.styles,n(d)]}handleSubmit(e){this.dispatchEvent(new Event(`submit`,{cancelable:!0,bubbles:!0}))||e.preventDefault()}handleKeydown(e){let{code:t}=e;t===`Escape`&&this.holdValueOnEscape||!this.value||t!==`Escape`||this.reset()}async reset(){this.value=``,await this.updateComplete,this.focusElement.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})),this.focusElement.dispatchEvent(new InputEvent(`change`,{bubbles:!0}))}renderField(){return e`
21
21
  <form
22
22
  action=${this.action}
23
23
  id="form"
@@ -17,7 +17,7 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{a as e,c as t,i as n,y as r}from"./chunks/lit-BN_lRQbJ.js";import{a as i,c as a,g as o,i as s,l as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{C as d,F as f,M as p,o as m,u as h}from"./chunks/luzmo-icons-BKu82bUU.js";import"./chunks/icon-Csu47YgC.js";import"./chunks/popover-BsB3dmQe.js";import{t as g}from"./chunks/class-map-CxQ0PcQP.js";import{t as _}from"./chunks/dependency-manger-BPrqqTnJ.js";import{i as v,n as y,t as b}from"./chunks/strategies-kad_0dTB.js";import"./chunks/progress-circle-CEx1b5Sv.js";import{t as x}from"./chunks/pending-state-DxeRqe6Q.js";import"./chunks/overlay-COmLsmL3.js";import"./chunks/tooltip-DB6jRVyB.js";import{r as S}from"./chunks/options-DzlW2-9n.js";var C=(e,t)=>{let n=getComputedStyle(e).getPropertyValue(t);for(;!n&&e.parentElement;)e=e.parentElement,n=getComputedStyle(e).getPropertyValue(t);return n.trim()},w=`:host{font-family:var(--luzmo-select-font-family,var(--select-font-family));font-size:var(--luzmo-select-font-size,var(--select-font-size))}#button{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--luzmo-button-font-family,var(--luzmo-font-family));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--luzmo-button-line-height,var(--luzmo-line-height,1.3));text-transform:none;vertical-align:top;-webkit-appearance:button;transition:background var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, border-color var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, color var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, box-shadow var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out;justify-content:center;align-items:center;margin:0;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative;overflow:visible}#button::-moz-focus-inner{border-style:none;padding:0}#button:focus{outline:none}#icon{font-size:var(--luzmo-select-font-size,var(--select-font-size));margin-inline-end:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}@media (forced-colors:active){:host{--highcontrast-select-focus-indicator-color:Highlight;--highcontrast-select-border-color-default:ButtonBorder;--highcontrast-select-border-color-hover:Highlight;--highcontrast-select-border-color-disabled:GrayText;--highcontrast-select-content-color-default:ButtonText;--highcontrast-select-content-color-disabled:GrayText;--highcontrast-select-background-color:ButtonFace}#button:focus-visible{--highcontrast-select-border-color-hover:ButtonText}#button .label,#button:after{forced-color-adjust:none}}#button{box-sizing:border-box;max-inline-size:100%;min-inline-size:calc(var(--select-minimum-width-multiplier) * var(--luzmo-select-button-block-size,var(--select-button-block-size)));block-size:var(--luzmo-select-button-block-size,var(--select-button-block-size));border-width:var(--luzmo-select-button-border-width,var(--select-button-border-width));border-radius:var(--luzmo-select-button-border-radius,var(--select-button-border-radius));box-shadow:var(--luzmo-select-button-box-shadow,var(--select-button-box-shadow));transition:background-color var(--luzmo-select-animation-duration,var(--select-animation-duration)), box-shadow var(--luzmo-select-animation-duration,var(--select-animation-duration)), border-color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-style:solid;border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));margin-block-start:var(--luzmo-select-spacing-label-to-select,var(--select-spacing-label-to-select));padding-block:0;padding-inline-start:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));padding-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon,var(--select-spacing-edge-to-disclosure-icon));display:flex}#button:after{pointer-events:none;content:"";block-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);inline-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);border-style:solid;border-width:var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width));border-radius:calc(var(--luzmo-select-button-border-radius,var(--select-button-border-radius)) + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-border-width)));border-color:#0000;margin-block-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);margin-inline-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);position:absolute;inset-block:0;inset-inline:0}#button:active{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-active,var(--select-background-color-active)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-active,var(--select-border-color-active)))}#button:active:after{border-color:#0000}#button.placeholder:active .label{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}#button:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-key-focus,var(--select-background-color-key-focus)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-key-focus,var(--select-border-color-key-focus)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)));outline:none}#button:focus-visible:after{border-color:var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)))}#button.placeholder:focus-visible{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)))}#button:focus-visible .disclosure-icon,#button:focus-visible .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-key-focus,var(--select-icon-color-key-focus)))}:host([open]) #button:not(:disabled,.is-disabled){color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default-open,var(--select-font-color-default-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default-open,var(--select-background-color-default-open)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-default-open,var(--select-border-color-default-open)))}:host([open]) #button:not(:disabled,.is-disabled) .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled) .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default-open,var(--select-icon-color-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default,var(--select-border-color-error-default)))}:host([invalid]) #button:not(:disabled,.is-disabled) .validation-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-error,var(--select-icon-color-error)))}:host([invalid]) #button:not(:disabled,.is-disabled):active{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-active,var(--select-border-color-error-active)))}:host([invalid][open]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default-open,var(--select-border-color-error-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):focus-visible{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-key-focus,var(--select-border-color-error-key-focus)))}:host([pending]) #button .disclosure-icon,:host([pending]) #button .clear-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}.icon{flex-shrink:0}.label{white-space:nowrap;font-size:var(--luzmo-select-font-size,var(--select-font-size));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));text-overflow:ellipsis;text-align:start;flex:auto;overflow:hidden}.label.placeholder{font-weight:var(--luzmo-select-placeholder-font-weight,var(--select-font-weight));font-style:var(--luzmo-select-placeholder-font-style,var(--select-placeholder-font-style));transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}.label.placeholder:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}.clear-icon,.disclosure-icon{vertical-align:top;transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default,var(--select-icon-color-default)));flex-shrink:0;display:inline-block;position:relative}.disclosure-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-disclosure-icon,var(--select-spacing-icon-to-disclosure-icon))}.clear-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-clear-icon,var(--select-spacing-icon-to-clear-icon))}.disclosure-icon:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-active,var(--select-icon-color-active)))}luzmo-progress-circle,.validation-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}.icon-container{height:100%;font-size:var(--luzmo-select-disclosure-icon-size,var(--select-disclosure-icon-size));align-items:center;display:flex;position:relative}.icon-container.disclosure-icon{margin-inline-end:0}.label~.disclosure-icon,.label~.clear-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}:host([quiet]) #button{inline-size:auto;min-inline-size:0;padding-inline:var(--luzmo-select-inline-edge-to-content-quiet,var(--select-inline-edge-to-content-quiet));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:initial;background-color:var(--highcontrast-select-background-color,transparent);box-shadow:none;border:none;border-radius:0;margin-block-start:calc(var(--luzmo-select-spacing-label-to-select-quiet,var(--select-spacing-label-to-select-quiet)) + 1px)}:host([quiet]) #button.label-inline{margin-block-start:0}:host([quiet]) #button .disclosure-icon{margin-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon-quiet,var(--select-spacing-edge-to-disclosure-icon-quiet))}:host([quiet]) #button:after{border:none;block-size:auto;inline-size:auto}@media (hover:hover){#button:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover,var(--select-background-color-hover)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover,var(--select-border-color-hover)))}#button:hover .disclosure-icon,#button:hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover,var(--select-icon-color-hover)))}#button:hover .clear-icon:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-clear-icon-color-hover,var(--select-icon-color-focus)))}:host([open]):not([quiet]) #button:not(:disabled,.is-disabled):hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover-open,var(--select-font-color-hover-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover-open,var(--select-background-color-hover-open)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover-open,var(--select-border-color-hover-open)))}:host([open]) #button:not(:disabled,.is-disabled):hover .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled):hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover-open,var(--select-icon-color-hover-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover,var(--select-border-color-error-hover)))}:host([invalid][open]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover-open,var(--select-border-color-error-hover-open)))}.label.placeholder:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)))}:host([quiet]) #button:hover{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)!important}}:host([quiet]) #button:focus-visible{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)}:host([quiet]) #button:focus-visible:after{box-shadow:0 var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) 0 0 var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)));margin:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1) 0;border:none;border-radius:0}:host([quiet][open]) #button,:host([quiet][disabled]) #button#button,:host([quiet]) #button#button:disabled,:host([quiet]) #button:active{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)}.label-inline{vertical-align:top;display:inline-flex}:host([disabled]) #button,#button:disabled{cursor:default;background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-disabled,var(--select-background-color-disabled)));border-color:#0000;border-color:var(--highcontrast-select-border-color-disabled,transparent);color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}:host([disabled]) #button .icon,:host([disabled]) #button .disclosure-icon,:host([disabled]) #button .clear-icon,:host([disabled]) #button .validation-icon,#button:disabled .icon,#button:disabled .disclosure-icon,#button:disabled .clear-icon,#button:disabled .validation-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}:host([disabled]) #button .label.placeholder,#button:disabled .label.placeholder{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}#popover{max-width:var(--luzmo-select-popover-max-width,var(--select-popover-max-width));min-width:var(--luzmo-select-popover-min-width,var(--select-popover-min-width));width:var(--luzmo-select-popover-width,var(--select-popover-width))}#popover.search-on{padding:0 0 var(--luzmo-popover-content-area-spacing-vertical,var(--popover-content-area-spacing-vertical)) 0!important}#search-container{border-bottom:var(--luzmo-select-search-container-border-bottom-width,var(--select-search-container-border-bottom-width)) solid var(--luzmo-select-search-container-border-bottom-color,var(--select-search-container-border-bottom-color));flex:none;display:flex;position:relative}#search-icon{left:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));color:var(--luzmo-select-search-icon-color,var(--select-search-icon-color));font-size:var(--luzmo-select-search-icon-height,var(--select-search-icon-height));width:var(--luzmo-select-search-icon-width,var(--select-search-icon-width));text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}#search:focus-within+#search-icon,#search:focus+#search-icon{color:var(--luzmo-select-search-icon-color-focus,var(--select-search-icon-color-focus))}#search{box-sizing:border-box;border-top-left-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));border-top-right-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));background-color:var(--luzmo-select-search-background-color,var(--select-search-background-color));width:100%;color:var(--luzmo-select-search-color,var(--select-search-color));height:var(--luzmo-select-button-block-size,var(--select-button-block-size));line-height:var(--luzmo-select-button-block-size,var(--select-button-block-size));padding-left:calc(var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content)) + var(--luzmo-select-spacing-search-icon-to-text,var(--select-spacing-search-icon-to-text)) + var(--luzmo-select-search-icon-width,var(--select-search-icon-width)));padding-right:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));font-size:var(--luzmo-select-font-size,var(--select-font-size));font-family:var(--luzmo-select-font-family,var(--select-font-family));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));border:var(--luzmo-select-search-input-border-bottom-width,var(--select-search-input-border-bottom-width)) solid var(--luzmo-select-search-input-border-bottom-color,var(--select-search-input-border-bottom-color));outline:none}#no-results{color:var(--luzmo-select-no-results-color,var(--select-no-results-color));font-style:var(--luzmo-select-no-results-font-style,var(--select-no-results-font-style));height:var(--luzmo-select-no-results-height,var(--select-no-results-height));padding-inline:var(--luzmo-select-no-results-spacing-edge-to-text,var(--select-no-results-spacing-edge-to-text));align-items:center;display:flex}:host{--select-popover-max-width:300px;--select-popover-min-width:160px;--select-font-family:var(--luzmo-font-family);--select-font-size:var(--luzmo-font-size);--select-font-weight:var(--luzmo-font-weight);--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-search-icon-height:var(--luzmo-font-size);--select-search-icon-width:var(--luzmo-font-size);--select-search-icon-color:var(--luzmo-disabled-color);--select-search-icon-color-focus:var(--luzmo-font-color);--select-search-color:var(--luzmo-font-color);--select-search-background-color:var(--luzmo-background-color);--select-search-container-border-bottom-width:var(--luzmo-border-width);--select-search-container-border-bottom-color:var(--luzmo-border-color);--select-search-input-border-bottom-width:var(--luzmo-border-width);--select-search-input-border-bottom-color:transparent;--select-background-color-default:var(--luzmo-background-color);--select-background-color-default-open:var(--luzmo-background-color-hover);--select-background-color-active:var(--luzmo-background-color-down);--select-background-color-hover:var(--luzmo-background-color-hover);--select-background-color-hover-open:var(--luzmo-background-color-down);--select-background-color-key-focus:var(--luzmo-background-color-down);--select-border-color-default:var(--luzmo-border-color);--select-border-color-default-open:var(--luzmo-border-color-hover);--select-border-color-hover:var(--luzmo-border-color);--select-border-color-hover-open:var(--luzmo-border-color-hover);--select-border-color-active:var(--luzmo-border-color);--select-border-color-key-focus:var(--luzmo-border-color);--select-button-border-width:var(--luzmo-border-width);--select-placeholder-font-style:var(--luzmo-font-style);--select-button-line-height:var(--luzmo-line-height);--select-button-box-shadow:0px 1px 3px 0px var(--luzmo-shadow-color);--select-button-block-size:var(--luzmo-component-height);--select-button-border-radius:var(--luzmo-border-radius);--select-button-border-radius-reset:0;--select-inline-edge-to-content:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-clear-icon:var(--select-spacing-icon-to-disclosure-icon);--select-inline-edge-to-content-quiet:0px;--select-spacing-label-to-select:0px;--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon-quiet:0px;--select-animation-duration:var(--luzmo-animation-duration);--select-font-color-default:var(--luzmo-font-color);--select-font-color-default-open:var(--luzmo-font-color-hover);--select-font-color-hover:var(--luzmo-font-color-hover);--select-font-color-hover-open:var(--luzmo-font-color-down);--select-font-color-active:var(--luzmo-font-color-focus);--select-font-color-key-focus:var(--luzmo-font-color-focus);--select-icon-color-default:var(--luzmo-font-color);--select-icon-color-default-open:var(--luzmo-font-color-hover);--select-icon-color-hover:var(--luzmo-font-color-hover);--select-icon-color-hover-open:var(--luzmo-font-color-hover);--select-icon-color-active:var(--luzmo-font-color-focus);--select-icon-color-key-focus:var(--luzmo-font-color-focus);--select-border-color-error-default:var(--luzmo-negative-color);--select-border-color-error-default-open:var(--luzmo-negative-color-down);--select-border-color-error-hover:var(--luzmo-negative-color-hover);--select-border-color-error-hover-open:var(--luzmo-negative-color-down);--select-border-color-error-active:var(--luzmo-negative-color-down);--select-border-color-error-key-focus:var(--luzmo-negative-color-focus);--select-icon-color-error:var(--luzmo-negative-color);--select-background-color-disabled:var(--luzmo-background-color-disabled);--select-font-color-disabled:var(--luzmo-disabled-color);--select-icon-color-disabled:var(--luzmo-disabled-color);--select-focus-indicator-gap:var(--luzmo-indicator-gap);--select-focus-indicator-width:var(--luzmo-indicator-width);--select-focus-indicator-color:var(--luzmo-indicator-color);--select-disclosure-icon-size:var(--luzmo-font-size-s);--select-no-results-height:var(--select-button-block-size);--select-no-results-color:var(--select-font-color-disabled);--select-no-results-font-style:italic;--select-no-results-spacing-edge-to-text:var(--select-inline-edge-to-content)}:host([size=s]){--select-button-block-size:var(--luzmo-component-height-s);--select-font-size:var(--luzmo-font-size-s);--select-search-icon-height:var(--luzmo-font-size-s);--select-search-icon-width:var(--luzmo-font-size-s);--select-popover-max-width:280px;--select-popover-min-width:140px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-3);--select-inline-edge-to-content:var(--luzmo-spacing-3);--select-spacing-text-to-icon:var(--luzmo-spacing-3);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-3);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-3);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-3);--select-disclosure-icon-size:var(--luzmo-font-size-s)}:host([size=l]){--select-button-block-size:var(--luzmo-component-height-l);--select-font-size:var(--luzmo-font-size-l);--select-search-icon-height:var(--luzmo-font-size-l);--select-search-icon-width:var(--luzmo-font-size-l);--select-popover-max-width:360px;--select-popover-min-width:220px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-4);--select-inline-edge-to-content:var(--luzmo-spacing-4);--select-spacing-text-to-icon:var(--luzmo-spacing-4);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-4);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-4);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-4);--select-disclosure-icon-size:var(--luzmo-font-size)}:host([size=xl]){--select-button-block-size:var(--luzmo-component-height-xl);--select-font-size:var(--luzmo-font-size-xl);--select-search-icon-height:var(--luzmo-font-size-xl);--select-search-icon-width:var(--luzmo-font-size-xl);--select-popover-max-width:400px;--select-popover-min-width:260px;--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-inline-edge-to-content:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-disclosure-icon-size:var(--luzmo-font-size-l)}:host([variant=highlight]) ::slotted(luzmo-option[selected]){--option-highlight-label-content-color:var(--luzmo-primary-inverse-color);--option-label-icon-color-default:var(--luzmo-primary-inverse-color);--menu-checkmark-display:var(--menu-checkmark-display-hidden);background-color:var(--luzmo-option-highlight-label-background-color,var(--option-highlight-label-background-color,var(--luzmo-border-color)));padding-inline-start:var(--luzmo-option-label-inline-edge-to-content,var(--option-label-inline-edge-to-content))}:host{vertical-align:top;max-inline-size:100%;inline-size:var(--luzmo-select-inline-size,var(--select-inline-size));min-inline-size:calc(var(--select-minimum-width-multiplier) * var(--luzmo-select-block-size,var(--select-block-size)));display:inline-flex}:host([quiet]){width:auto;min-width:0}:host([disabled]){pointer-events:none}#button{width:100%;min-width:100%;max-width:100%}#icon:not([hidden]){display:inline-flex}:host([readonly]) #button{user-select:inherit}.validation-icon{flex-shrink:0}luzmo-overlay{pointer-events:none}luzmo-options{pointer-events:initial}:host>#no-results,:host>luzmo-options{display:none}:host([focused]:not([quiet])) #button #label.placeholder{color:var(--select-placeholder-text-color-key-focus,var(--alias-placeholder-text-color-hover))}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0 -1px -1px 0;padding:0;position:absolute;overflow:hidden}luzmo-overlay:not(:defined){display:none}#button.remove-focus-ring-safari-hack:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}#button.remove-focus-ring-safari-hack:after{border:none}#button.remove-focus-ring-safari-hack:focus-visible:after{box-shadow:none}#button.remove-focus-ring-safari-hack:active{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}`,T=()=>t`
20
+ import"./tokens.js";import{a as e,c as t,i as n,y as r}from"./chunks/lit-BN_lRQbJ.js";import{a as i,c as a,g as o,i as s,l as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{C as d,P as f,j as p,o as m,u as h}from"./chunks/luzmo-icons-CJa-aByT.js";import"./chunks/icon-Dy6J1QeX.js";import"./chunks/popover-BsB3dmQe.js";import{t as g}from"./chunks/class-map-CxQ0PcQP.js";import{t as _}from"./chunks/dependency-manger-BPrqqTnJ.js";import{i as v,n as y,t as b}from"./chunks/strategies-kad_0dTB.js";import"./chunks/progress-circle-CEx1b5Sv.js";import{t as x}from"./chunks/pending-state-DxeRqe6Q.js";import"./chunks/overlay-C_XW8yry.js";import"./chunks/tooltip-DB6jRVyB.js";import{r as S}from"./chunks/options-BjRSj630.js";var C=(e,t)=>{let n=getComputedStyle(e).getPropertyValue(t);for(;!n&&e.parentElement;)e=e.parentElement,n=getComputedStyle(e).getPropertyValue(t);return n.trim()},w=`:host{font-family:var(--luzmo-select-font-family,var(--select-font-family));font-size:var(--luzmo-select-font-size,var(--select-font-size))}#button{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--luzmo-button-font-family,var(--luzmo-font-family));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--luzmo-button-line-height,var(--luzmo-line-height,1.3));text-transform:none;vertical-align:top;-webkit-appearance:button;transition:background var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, border-color var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, color var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out, box-shadow var(--luzmo-button-animation-duration,var(--luzmo-animation-duration)) ease-out;justify-content:center;align-items:center;margin:0;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative;overflow:visible}#button::-moz-focus-inner{border-style:none;padding:0}#button:focus{outline:none}#icon{font-size:var(--luzmo-select-font-size,var(--select-font-size));margin-inline-end:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}@media (forced-colors:active){:host{--highcontrast-select-focus-indicator-color:Highlight;--highcontrast-select-border-color-default:ButtonBorder;--highcontrast-select-border-color-hover:Highlight;--highcontrast-select-border-color-disabled:GrayText;--highcontrast-select-content-color-default:ButtonText;--highcontrast-select-content-color-disabled:GrayText;--highcontrast-select-background-color:ButtonFace}#button:focus-visible{--highcontrast-select-border-color-hover:ButtonText}#button .label,#button:after{forced-color-adjust:none}}#button{box-sizing:border-box;max-inline-size:100%;min-inline-size:calc(var(--select-minimum-width-multiplier) * var(--luzmo-select-button-block-size,var(--select-button-block-size)));block-size:var(--luzmo-select-button-block-size,var(--select-button-block-size));border-width:var(--luzmo-select-button-border-width,var(--select-button-border-width));border-radius:var(--luzmo-select-button-border-radius,var(--select-button-border-radius));box-shadow:var(--luzmo-select-button-box-shadow,var(--select-button-box-shadow));transition:background-color var(--luzmo-select-animation-duration,var(--select-animation-duration)), box-shadow var(--luzmo-select-animation-duration,var(--select-animation-duration)), border-color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-style:solid;border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));margin-block-start:var(--luzmo-select-spacing-label-to-select,var(--select-spacing-label-to-select));padding-block:0;padding-inline-start:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));padding-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon,var(--select-spacing-edge-to-disclosure-icon));display:flex}#button:after{pointer-events:none;content:"";block-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);inline-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);border-style:solid;border-width:var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width));border-radius:calc(var(--luzmo-select-button-border-radius,var(--select-button-border-radius)) + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-border-width)));border-color:#0000;margin-block-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);margin-inline-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);position:absolute;inset-block:0;inset-inline:0}#button:active{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-active,var(--select-background-color-active)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-active,var(--select-border-color-active)))}#button:active:after{border-color:#0000}#button.placeholder:active .label{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}#button:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-key-focus,var(--select-background-color-key-focus)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-key-focus,var(--select-border-color-key-focus)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)));outline:none}#button:focus-visible:after{border-color:var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)))}#button.placeholder:focus-visible{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)))}#button:focus-visible .disclosure-icon,#button:focus-visible .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-key-focus,var(--select-icon-color-key-focus)))}:host([open]) #button:not(:disabled,.is-disabled){color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default-open,var(--select-font-color-default-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default-open,var(--select-background-color-default-open)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-default-open,var(--select-border-color-default-open)))}:host([open]) #button:not(:disabled,.is-disabled) .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled) .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default-open,var(--select-icon-color-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default,var(--select-border-color-error-default)))}:host([invalid]) #button:not(:disabled,.is-disabled) .validation-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-error,var(--select-icon-color-error)))}:host([invalid]) #button:not(:disabled,.is-disabled):active{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-active,var(--select-border-color-error-active)))}:host([invalid][open]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default-open,var(--select-border-color-error-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):focus-visible{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-key-focus,var(--select-border-color-error-key-focus)))}:host([pending]) #button .disclosure-icon,:host([pending]) #button .clear-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}.icon{flex-shrink:0}.label{white-space:nowrap;font-size:var(--luzmo-select-font-size,var(--select-font-size));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));text-overflow:ellipsis;text-align:start;flex:auto;overflow:hidden}.label.placeholder{font-weight:var(--luzmo-select-placeholder-font-weight,var(--select-font-weight));font-style:var(--luzmo-select-placeholder-font-style,var(--select-placeholder-font-style));transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}.label.placeholder:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}.clear-icon,.disclosure-icon{vertical-align:top;transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default,var(--select-icon-color-default)));flex-shrink:0;display:inline-block;position:relative}.disclosure-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-disclosure-icon,var(--select-spacing-icon-to-disclosure-icon))}.clear-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-clear-icon,var(--select-spacing-icon-to-clear-icon))}.disclosure-icon:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-active,var(--select-icon-color-active)))}luzmo-progress-circle,.validation-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}.icon-container{height:100%;font-size:var(--luzmo-select-disclosure-icon-size,var(--select-disclosure-icon-size));align-items:center;display:flex;position:relative}.icon-container.disclosure-icon{margin-inline-end:0}.label~.disclosure-icon,.label~.clear-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}:host([quiet]) #button{inline-size:auto;min-inline-size:0;padding-inline:var(--luzmo-select-inline-edge-to-content-quiet,var(--select-inline-edge-to-content-quiet));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:initial;background-color:var(--highcontrast-select-background-color,transparent);box-shadow:none;border:none;border-radius:0;margin-block-start:calc(var(--luzmo-select-spacing-label-to-select-quiet,var(--select-spacing-label-to-select-quiet)) + 1px)}:host([quiet]) #button.label-inline{margin-block-start:0}:host([quiet]) #button .disclosure-icon{margin-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon-quiet,var(--select-spacing-edge-to-disclosure-icon-quiet))}:host([quiet]) #button:after{border:none;block-size:auto;inline-size:auto}@media (hover:hover){#button:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover,var(--select-background-color-hover)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover,var(--select-border-color-hover)))}#button:hover .disclosure-icon,#button:hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover,var(--select-icon-color-hover)))}#button:hover .clear-icon:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-clear-icon-color-hover,var(--select-icon-color-focus)))}:host([open]):not([quiet]) #button:not(:disabled,.is-disabled):hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover-open,var(--select-font-color-hover-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover-open,var(--select-background-color-hover-open)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover-open,var(--select-border-color-hover-open)))}:host([open]) #button:not(:disabled,.is-disabled):hover .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled):hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover-open,var(--select-icon-color-hover-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover,var(--select-border-color-error-hover)))}:host([invalid][open]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover-open,var(--select-border-color-error-hover-open)))}.label.placeholder:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)))}:host([quiet]) #button:hover{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)!important}}:host([quiet]) #button:focus-visible{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)}:host([quiet]) #button:focus-visible:after{box-shadow:0 var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) 0 0 var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)));margin:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1) 0;border:none;border-radius:0}:host([quiet][open]) #button,:host([quiet][disabled]) #button#button,:host([quiet]) #button#button:disabled,:host([quiet]) #button:active{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)}.label-inline{vertical-align:top;display:inline-flex}:host([disabled]) #button,#button:disabled{cursor:default;background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-disabled,var(--select-background-color-disabled)));border-color:#0000;border-color:var(--highcontrast-select-border-color-disabled,transparent);color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}:host([disabled]) #button .icon,:host([disabled]) #button .disclosure-icon,:host([disabled]) #button .clear-icon,:host([disabled]) #button .validation-icon,#button:disabled .icon,#button:disabled .disclosure-icon,#button:disabled .clear-icon,#button:disabled .validation-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}:host([disabled]) #button .label.placeholder,#button:disabled .label.placeholder{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}#popover{max-width:var(--luzmo-select-popover-max-width,var(--select-popover-max-width));min-width:var(--luzmo-select-popover-min-width,var(--select-popover-min-width));width:var(--luzmo-select-popover-width,var(--select-popover-width))}#popover.search-on{padding:0 0 var(--luzmo-popover-content-area-spacing-vertical,var(--popover-content-area-spacing-vertical)) 0!important}#search-container{border-bottom:var(--luzmo-select-search-container-border-bottom-width,var(--select-search-container-border-bottom-width)) solid var(--luzmo-select-search-container-border-bottom-color,var(--select-search-container-border-bottom-color));flex:none;display:flex;position:relative}#search-icon{left:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));color:var(--luzmo-select-search-icon-color,var(--select-search-icon-color));font-size:var(--luzmo-select-search-icon-height,var(--select-search-icon-height));width:var(--luzmo-select-search-icon-width,var(--select-search-icon-width));text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}#search:focus-within+#search-icon,#search:focus+#search-icon{color:var(--luzmo-select-search-icon-color-focus,var(--select-search-icon-color-focus))}#search{box-sizing:border-box;border-top-left-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));border-top-right-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));background-color:var(--luzmo-select-search-background-color,var(--select-search-background-color));width:100%;color:var(--luzmo-select-search-color,var(--select-search-color));height:var(--luzmo-select-button-block-size,var(--select-button-block-size));line-height:var(--luzmo-select-button-block-size,var(--select-button-block-size));padding-left:calc(var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content)) + var(--luzmo-select-spacing-search-icon-to-text,var(--select-spacing-search-icon-to-text)) + var(--luzmo-select-search-icon-width,var(--select-search-icon-width)));padding-right:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));font-size:var(--luzmo-select-font-size,var(--select-font-size));font-family:var(--luzmo-select-font-family,var(--select-font-family));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));border:var(--luzmo-select-search-input-border-bottom-width,var(--select-search-input-border-bottom-width)) solid var(--luzmo-select-search-input-border-bottom-color,var(--select-search-input-border-bottom-color));outline:none}#no-results{color:var(--luzmo-select-no-results-color,var(--select-no-results-color));font-style:var(--luzmo-select-no-results-font-style,var(--select-no-results-font-style));height:var(--luzmo-select-no-results-height,var(--select-no-results-height));padding-inline:var(--luzmo-select-no-results-spacing-edge-to-text,var(--select-no-results-spacing-edge-to-text));align-items:center;display:flex}:host{--select-popover-max-width:300px;--select-popover-min-width:160px;--select-font-family:var(--luzmo-font-family);--select-font-size:var(--luzmo-font-size);--select-font-weight:var(--luzmo-font-weight);--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-search-icon-height:var(--luzmo-font-size);--select-search-icon-width:var(--luzmo-font-size);--select-search-icon-color:var(--luzmo-disabled-color);--select-search-icon-color-focus:var(--luzmo-font-color);--select-search-color:var(--luzmo-font-color);--select-search-background-color:var(--luzmo-background-color);--select-search-container-border-bottom-width:var(--luzmo-border-width);--select-search-container-border-bottom-color:var(--luzmo-border-color);--select-search-input-border-bottom-width:var(--luzmo-border-width);--select-search-input-border-bottom-color:transparent;--select-background-color-default:var(--luzmo-background-color);--select-background-color-default-open:var(--luzmo-background-color-hover);--select-background-color-active:var(--luzmo-background-color-down);--select-background-color-hover:var(--luzmo-background-color-hover);--select-background-color-hover-open:var(--luzmo-background-color-down);--select-background-color-key-focus:var(--luzmo-background-color-down);--select-border-color-default:var(--luzmo-border-color);--select-border-color-default-open:var(--luzmo-border-color-hover);--select-border-color-hover:var(--luzmo-border-color);--select-border-color-hover-open:var(--luzmo-border-color-hover);--select-border-color-active:var(--luzmo-border-color);--select-border-color-key-focus:var(--luzmo-border-color);--select-button-border-width:var(--luzmo-border-width);--select-placeholder-font-style:var(--luzmo-font-style);--select-button-line-height:var(--luzmo-line-height);--select-button-box-shadow:0px 1px 3px 0px var(--luzmo-shadow-color);--select-button-block-size:var(--luzmo-component-height);--select-button-border-radius:var(--luzmo-border-radius);--select-button-border-radius-reset:0;--select-inline-edge-to-content:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-clear-icon:var(--select-spacing-icon-to-disclosure-icon);--select-inline-edge-to-content-quiet:0px;--select-spacing-label-to-select:0px;--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon-quiet:0px;--select-animation-duration:var(--luzmo-animation-duration);--select-font-color-default:var(--luzmo-font-color);--select-font-color-default-open:var(--luzmo-font-color-hover);--select-font-color-hover:var(--luzmo-font-color-hover);--select-font-color-hover-open:var(--luzmo-font-color-down);--select-font-color-active:var(--luzmo-font-color-focus);--select-font-color-key-focus:var(--luzmo-font-color-focus);--select-icon-color-default:var(--luzmo-font-color);--select-icon-color-default-open:var(--luzmo-font-color-hover);--select-icon-color-hover:var(--luzmo-font-color-hover);--select-icon-color-hover-open:var(--luzmo-font-color-hover);--select-icon-color-active:var(--luzmo-font-color-focus);--select-icon-color-key-focus:var(--luzmo-font-color-focus);--select-border-color-error-default:var(--luzmo-negative-color);--select-border-color-error-default-open:var(--luzmo-negative-color-down);--select-border-color-error-hover:var(--luzmo-negative-color-hover);--select-border-color-error-hover-open:var(--luzmo-negative-color-down);--select-border-color-error-active:var(--luzmo-negative-color-down);--select-border-color-error-key-focus:var(--luzmo-negative-color-focus);--select-icon-color-error:var(--luzmo-negative-color);--select-background-color-disabled:var(--luzmo-background-color-disabled);--select-font-color-disabled:var(--luzmo-disabled-color);--select-icon-color-disabled:var(--luzmo-disabled-color);--select-focus-indicator-gap:var(--luzmo-indicator-gap);--select-focus-indicator-width:var(--luzmo-indicator-width);--select-focus-indicator-color:var(--luzmo-indicator-color);--select-disclosure-icon-size:var(--luzmo-font-size-s);--select-no-results-height:var(--select-button-block-size);--select-no-results-color:var(--select-font-color-disabled);--select-no-results-font-style:italic;--select-no-results-spacing-edge-to-text:var(--select-inline-edge-to-content)}:host([size=s]){--select-button-block-size:var(--luzmo-component-height-s);--select-font-size:var(--luzmo-font-size-s);--select-search-icon-height:var(--luzmo-font-size-s);--select-search-icon-width:var(--luzmo-font-size-s);--select-popover-max-width:280px;--select-popover-min-width:140px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-3);--select-inline-edge-to-content:var(--luzmo-spacing-3);--select-spacing-text-to-icon:var(--luzmo-spacing-3);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-3);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-3);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-3);--select-disclosure-icon-size:var(--luzmo-font-size-s)}:host([size=l]){--select-button-block-size:var(--luzmo-component-height-l);--select-font-size:var(--luzmo-font-size-l);--select-search-icon-height:var(--luzmo-font-size-l);--select-search-icon-width:var(--luzmo-font-size-l);--select-popover-max-width:360px;--select-popover-min-width:220px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-4);--select-inline-edge-to-content:var(--luzmo-spacing-4);--select-spacing-text-to-icon:var(--luzmo-spacing-4);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-4);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-4);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-4);--select-disclosure-icon-size:var(--luzmo-font-size)}:host([size=xl]){--select-button-block-size:var(--luzmo-component-height-xl);--select-font-size:var(--luzmo-font-size-xl);--select-search-icon-height:var(--luzmo-font-size-xl);--select-search-icon-width:var(--luzmo-font-size-xl);--select-popover-max-width:400px;--select-popover-min-width:260px;--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-inline-edge-to-content:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-disclosure-icon-size:var(--luzmo-font-size-l)}:host([variant=highlight]) ::slotted(luzmo-option[selected]){--option-highlight-label-content-color:var(--luzmo-primary-inverse-color);--option-label-icon-color-default:var(--luzmo-primary-inverse-color);--menu-checkmark-display:var(--menu-checkmark-display-hidden);background-color:var(--luzmo-option-highlight-label-background-color,var(--option-highlight-label-background-color,var(--luzmo-border-color)));padding-inline-start:var(--luzmo-option-label-inline-edge-to-content,var(--option-label-inline-edge-to-content))}:host{vertical-align:top;max-inline-size:100%;inline-size:var(--luzmo-select-inline-size,var(--select-inline-size));min-inline-size:calc(var(--select-minimum-width-multiplier) * var(--luzmo-select-block-size,var(--select-block-size)));display:inline-flex}:host([quiet]){width:auto;min-width:0}:host([disabled]){pointer-events:none}#button{width:100%;min-width:100%;max-width:100%}#icon:not([hidden]){display:inline-flex}:host([readonly]) #button{user-select:inherit}.validation-icon{flex-shrink:0}luzmo-overlay{pointer-events:none}luzmo-options{pointer-events:initial}:host>#no-results,:host>luzmo-options{display:none}:host([focused]:not([quiet])) #button #label.placeholder{color:var(--select-placeholder-text-color-key-focus,var(--alias-placeholder-text-color-hover))}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0 -1px -1px 0;padding:0;position:absolute;overflow:hidden}luzmo-overlay:not(:defined){display:none}#button.remove-focus-ring-safari-hack:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}#button.remove-focus-ring-safari-hack:after{border:none}#button.remove-focus-ring-safari-hack:focus-visible:after{box-shadow:none}#button.remove-focus-ring-safari-hack:active{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}`,T=()=>t`
21
21
  <div class="disclosure-icon icon">
22
22
  ${d(f,{className:`indicator`})}
23
23
  </div>
@@ -17,7 +17,7 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{a as r,c as i,h as a,i as o,l as s,u as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{r as d,t as f}from"./chunks/language-resolution-BWHk9A73.js";import{t as p}from"./chunks/class-map-CxQ0PcQP.js";import{t as m}from"./chunks/style-map-D4QeV3m0.js";import{t as h}from"./chunks/NumberFormatter-DMCfW685.js";import{t as g}from"./chunks/manage-help-text-Cl9OJ2xf.js";import"./chunks/number-field-BWvsvU01.js";import{t as _}from"./chunks/repeat-CZdNcszA.js";var v={toNormalized(e,t,n){return n===t?0:(e-t)/(n-t)},fromNormalized(e,t,n){return e*(n-t)+t}},y=(e,t)=>{let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{${e}}`,r);return n},b=e=>{if(!Number.isFinite(e))return 0;let t=Math.abs(e).toString(),n=t.match(/^\d+(?:\.(?<fraction>\d+))?e(?<exponent>[+-]\d+)$/);if(n?.groups){let{fraction:e=``,exponent:t}=n.groups;return Math.min(Math.max(e.length-Number(t),0),20)}let[,r=``]=t.split(`.`);return Math.min(r.length,20)},x=(e,t)=>{let n;try{n=e()}catch{n=void 0}if(typeof n==`number`&&!Number.isNaN(n))return n;let r=t();return Number.isNaN(r)?0:r},S=(e,t)=>Number.isFinite(e)?e:t,C=(e,t,n)=>Math.min(Math.max(e,Math.min(t,n)),Math.max(t,n)),w=(e,t,n,r)=>{let i=S(t,0),a=S(n,i),o=Number.isFinite(r)&&r>0?r:1,s=Number.isNaN(e)?i:e,c=Math.max(b(o),b(i),b(a)),l=i+Math.round((C(s,i,a)-i)/o)*o;return C(Number(l.toFixed(c)),i,a)},T=(e,t,n,r=v)=>C(x(()=>r.toNormalized(e,t,n),()=>v.toNormalized(e,t,n)),0,1),E=(e,t,n,r,i=v)=>{let a=C(e,0,1);return w(x(()=>i.fromNormalized(a,t,n),()=>v.fromNormalized(a,t,n)),t,n,r)},D=(e,t,n)=>{if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||t<=e)return[];let r=Math.floor((t-e)/n)+1;if(r>250)return[];let i=Math.max(b(e),b(n));return Array.from({length:r},(t,r)=>Number((e+r*n).toFixed(i)))},O=(e,t,n,r,i=v)=>{let a=t+(n-t)/2,o=r===!0?a:r===void 0?t:r,s=T(Number.isNaN(o)?t:o,t,n,i),c=T(e,t,n,i);return[Math.min(s,c),Math.max(s,c)]},k=(e,t)=>e+(t-e)/2,A=class{constructor(e,t,n,r){this._applySingleValue=t,this._formatHandleValue=n,this._formatHandleLabel=r,this._attachedHandles=new Set,this._inputMap=new WeakMap,this.activeIndex=0,this.draggingIndex=-1,this._host=e,this._host.addController(this)}hostConnected(){this.invalidate(),this._syncAttachments()}hostDisconnected(){this.draggingIndex=-1,this._detachHandles(),this._inputMap=new WeakMap,this._cachedModels=void 0}hostUpdate(){this._syncAttachments(),this._cachedModels=this._resolveModels()}hostUpdated(){this._syncInputReferences(),this._commitClampedValues()}get handles(){let e=this._host.shadowRoot?.querySelector(`slot[name="handle"]`);return(e?e.assignedElements():[...this._host.children]).filter(e=>e.localName===`luzmo-slider-handle`&&e.slot===`handle`)}get models(){return this._cachedModels??this._resolveModels()}get values(){return Object.fromEntries(this.models.map(({name:e,value:t})=>[e,t]))}invalidate(){this._cachedModels=void 0}requestHostUpdate(){this.invalidate(),this._host.requestUpdate()}inputForHandle(e){return this._inputMap.get(e)}setValue(e,t){let n=this.models[e];if(!n)return!1;this.activeIndex=e;let r=w(t,n.effectiveMin,n.effectiveMax,n.step);return r===n.value?!1:(n.handle?n.handle.value=r:this._applySingleValue(r),this._cachedModels=this._resolveModels(),!0)}setNormalizedValue(e,t){let n=this.models[e];return n?this.setValue(e,E(t,n.min,n.max,n.step,n.normalization)):!1}nearestIndex(e){let t=this.models;return t.reduce((n,r,i)=>Math.abs(r.normalizedValue-e)<Math.abs(t[n].normalizedValue-e)?i:n,Math.min(Math.max(this.activeIndex,0),t.length-1))}reset(e){let t=this.models[e];return!t||t.defaultValue===void 0||!this.setValue(e,t.defaultValue)?!1:(this.dispatchInput(e),this.dispatchChange(e),!0)}dispatchInput(e){this._eventTarget(e).dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}dispatchChange(e){this._eventTarget(e).dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0}))}formatValue(e){let t=this.models[e];return t?this._formatHandleValue(t):``}_eventTarget(e){return this.models[e]?.handle??this._host}_syncInputReferences(){this._inputMap=new WeakMap;let e=this._host.shadowRoot?.querySelectorAll(`input[type="range"]`)??[];this.models.forEach((t,n)=>{t.handle&&e[n]&&this._inputMap.set(t.handle,e[n])})}_commitClampedValues(){for(let e of this.models)e.handle&&e.handle.value!==e.value&&(e.handle.value=e.value)}_syncAttachments(){let e=new Set(this._host.isConnected?this.handles:[]);for(let t of this._attachedHandles)e.has(t)||t.detachController(this);for(let t of e)t.attachController(this);this._attachedHandles=e}_detachHandles(){for(let e of this._attachedHandles)e.detachController(this);this._attachedHandles.clear()}_resolveModels(){let e=this.handles;if(e.length===0)return[this._resolveSingleModel()];let t=e.map(e=>{let t=typeof e.min==`number`&&Number.isFinite(e.min)?e.min:this._host.min,n=typeof e.max==`number`&&Number.isFinite(e.max)?e.max:this._host.max;return{min:t,max:Math.max(t,n)}}),n=e.map((e,n)=>{let{min:r,max:i}=t[n],a=this._resolveStep(e.step);return w(Number.isFinite(e.value)?e.value:k(r,i),r,i,a)}),r=new Set;return e.map((i,a)=>{let{min:o,max:s}=t[a],c=this._resolveStep(i.step),l=i.min===`previous`&&a>0?Math.max(o,n[a-1]):o,u=Math.max(l,i.max===`next`&&a<e.length-1?Math.min(s,n[a+1]):s),d=w(n[a],l,u,c),f=i.normalization;return{handle:i,name:this._uniqueName(i.name,a,r),label:this._formatHandleLabel(i,a),value:d,min:o,max:s,effectiveMin:l,effectiveMax:u,step:c,defaultValue:i.defaultValue,normalizedValue:T(d,o,s,f),normalization:f}})}_resolveSingleModel(){let{min:e,max:t,step:n,normalization:r}=this._host,i=w(this._host.value,e,t,n);return{name:`value`,label:this._host.label,value:i,min:e,max:t,effectiveMin:e,effectiveMax:t,step:n,defaultValue:this._host.defaultValue,normalizedValue:T(i,e,t,r),normalization:r}}_resolveStep(e){return e!==void 0&&Number.isFinite(e)&&e>0?e:this._host.step}_uniqueName(e,t,n){let r=e||`handle${t+1}`;if(!n.has(r))return n.add(r),r;let i=t+1;for(;n.has(`${r}${i}`);)i+=1;let a=`${r}${i}`;return n.add(a),a}};function j({model:n,index:r,total:i,grouped:a,label:s,appliedLabel:c,helpTextId:l,labelVisibility:u,formattedValue:d,activeIndex:f,draggingIndex:h,focusedIndex:g,invalid:_,readonly:v,disabled:y}){let b=i>1?n.label:s||c||n.label;return e`
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{a as r,c as i,h as a,i as o,l as s,u as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{r as d,t as f}from"./chunks/language-resolution-BWHk9A73.js";import{t as p}from"./chunks/class-map-CxQ0PcQP.js";import{t as m}from"./chunks/style-map-D4QeV3m0.js";import{t as h}from"./chunks/NumberFormatter-DMCfW685.js";import{t as g}from"./chunks/manage-help-text-Cl9OJ2xf.js";import"./chunks/number-field-C3DYfl1s.js";import{t as _}from"./chunks/repeat-CZdNcszA.js";var v={toNormalized(e,t,n){return n===t?0:(e-t)/(n-t)},fromNormalized(e,t,n){return e*(n-t)+t}},y=(e,t)=>{let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{${e}}`,r);return n},b=e=>{if(!Number.isFinite(e))return 0;let t=Math.abs(e).toString(),n=t.match(/^\d+(?:\.(?<fraction>\d+))?e(?<exponent>[+-]\d+)$/);if(n?.groups){let{fraction:e=``,exponent:t}=n.groups;return Math.min(Math.max(e.length-Number(t),0),20)}let[,r=``]=t.split(`.`);return Math.min(r.length,20)},x=(e,t)=>{let n;try{n=e()}catch{n=void 0}if(typeof n==`number`&&!Number.isNaN(n))return n;let r=t();return Number.isNaN(r)?0:r},S=(e,t)=>Number.isFinite(e)?e:t,C=(e,t,n)=>Math.min(Math.max(e,Math.min(t,n)),Math.max(t,n)),w=(e,t,n,r)=>{let i=S(t,0),a=S(n,i),o=Number.isFinite(r)&&r>0?r:1,s=Number.isNaN(e)?i:e,c=Math.max(b(o),b(i),b(a)),l=i+Math.round((C(s,i,a)-i)/o)*o;return C(Number(l.toFixed(c)),i,a)},T=(e,t,n,r=v)=>C(x(()=>r.toNormalized(e,t,n),()=>v.toNormalized(e,t,n)),0,1),E=(e,t,n,r,i=v)=>{let a=C(e,0,1);return w(x(()=>i.fromNormalized(a,t,n),()=>v.fromNormalized(a,t,n)),t,n,r)},D=(e,t,n)=>{if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||t<=e)return[];let r=Math.floor((t-e)/n)+1;if(r>250)return[];let i=Math.max(b(e),b(n));return Array.from({length:r},(t,r)=>Number((e+r*n).toFixed(i)))},O=(e,t,n,r,i=v)=>{let a=t+(n-t)/2,o=r===!0?a:r===void 0?t:r,s=T(Number.isNaN(o)?t:o,t,n,i),c=T(e,t,n,i);return[Math.min(s,c),Math.max(s,c)]},k=(e,t)=>e+(t-e)/2,A=class{constructor(e,t,n,r){this._applySingleValue=t,this._formatHandleValue=n,this._formatHandleLabel=r,this._attachedHandles=new Set,this._inputMap=new WeakMap,this.activeIndex=0,this.draggingIndex=-1,this._host=e,this._host.addController(this)}hostConnected(){this.invalidate(),this._syncAttachments()}hostDisconnected(){this.draggingIndex=-1,this._detachHandles(),this._inputMap=new WeakMap,this._cachedModels=void 0}hostUpdate(){this._syncAttachments(),this._cachedModels=this._resolveModels()}hostUpdated(){this._syncInputReferences(),this._commitClampedValues()}get handles(){let e=this._host.shadowRoot?.querySelector(`slot[name="handle"]`);return(e?e.assignedElements():[...this._host.children]).filter(e=>e.localName===`luzmo-slider-handle`&&e.slot===`handle`)}get models(){return this._cachedModels??this._resolveModels()}get values(){return Object.fromEntries(this.models.map(({name:e,value:t})=>[e,t]))}invalidate(){this._cachedModels=void 0}requestHostUpdate(){this.invalidate(),this._host.requestUpdate()}inputForHandle(e){return this._inputMap.get(e)}setValue(e,t){let n=this.models[e];if(!n)return!1;this.activeIndex=e;let r=w(t,n.effectiveMin,n.effectiveMax,n.step);return r===n.value?!1:(n.handle?n.handle.value=r:this._applySingleValue(r),this._cachedModels=this._resolveModels(),!0)}setNormalizedValue(e,t){let n=this.models[e];return n?this.setValue(e,E(t,n.min,n.max,n.step,n.normalization)):!1}nearestIndex(e){let t=this.models;return t.reduce((n,r,i)=>Math.abs(r.normalizedValue-e)<Math.abs(t[n].normalizedValue-e)?i:n,Math.min(Math.max(this.activeIndex,0),t.length-1))}reset(e){let t=this.models[e];return!t||t.defaultValue===void 0||!this.setValue(e,t.defaultValue)?!1:(this.dispatchInput(e),this.dispatchChange(e),!0)}dispatchInput(e){this._eventTarget(e).dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}dispatchChange(e){this._eventTarget(e).dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0}))}formatValue(e){let t=this.models[e];return t?this._formatHandleValue(t):``}_eventTarget(e){return this.models[e]?.handle??this._host}_syncInputReferences(){this._inputMap=new WeakMap;let e=this._host.shadowRoot?.querySelectorAll(`input[type="range"]`)??[];this.models.forEach((t,n)=>{t.handle&&e[n]&&this._inputMap.set(t.handle,e[n])})}_commitClampedValues(){for(let e of this.models)e.handle&&e.handle.value!==e.value&&(e.handle.value=e.value)}_syncAttachments(){let e=new Set(this._host.isConnected?this.handles:[]);for(let t of this._attachedHandles)e.has(t)||t.detachController(this);for(let t of e)t.attachController(this);this._attachedHandles=e}_detachHandles(){for(let e of this._attachedHandles)e.detachController(this);this._attachedHandles.clear()}_resolveModels(){let e=this.handles;if(e.length===0)return[this._resolveSingleModel()];let t=e.map(e=>{let t=typeof e.min==`number`&&Number.isFinite(e.min)?e.min:this._host.min,n=typeof e.max==`number`&&Number.isFinite(e.max)?e.max:this._host.max;return{min:t,max:Math.max(t,n)}}),n=e.map((e,n)=>{let{min:r,max:i}=t[n],a=this._resolveStep(e.step);return w(Number.isFinite(e.value)?e.value:k(r,i),r,i,a)}),r=new Set;return e.map((i,a)=>{let{min:o,max:s}=t[a],c=this._resolveStep(i.step),l=i.min===`previous`&&a>0?Math.max(o,n[a-1]):o,u=Math.max(l,i.max===`next`&&a<e.length-1?Math.min(s,n[a+1]):s),d=w(n[a],l,u,c),f=i.normalization;return{handle:i,name:this._uniqueName(i.name,a,r),label:this._formatHandleLabel(i,a),value:d,min:o,max:s,effectiveMin:l,effectiveMax:u,step:c,defaultValue:i.defaultValue,normalizedValue:T(d,o,s,f),normalization:f}})}_resolveSingleModel(){let{min:e,max:t,step:n,normalization:r}=this._host,i=w(this._host.value,e,t,n);return{name:`value`,label:this._host.label,value:i,min:e,max:t,effectiveMin:e,effectiveMax:t,step:n,defaultValue:this._host.defaultValue,normalizedValue:T(i,e,t,r),normalization:r}}_resolveStep(e){return e!==void 0&&Number.isFinite(e)&&e>0?e:this._host.step}_uniqueName(e,t,n){let r=e||`handle${t+1}`;if(!n.has(r))return n.add(r),r;let i=t+1;for(;n.has(`${r}${i}`);)i+=1;let a=`${r}${i}`;return n.add(a),a}};function j({model:n,index:r,total:i,grouped:a,label:s,appliedLabel:c,helpTextId:l,labelVisibility:u,formattedValue:d,activeIndex:f,draggingIndex:h,focusedIndex:g,invalid:_,readonly:v,disabled:y}){let b=i>1?n.label:s||c||n.label;return e`
21
21
  <span
22
22
  class=${p({handle:!0,"tooltip-open":h===r||g===r})}
23
23
  data-handle-index=${r}
@@ -17,4 +17,4 @@
17
17
  *
18
18
  */
19
19
 
20
- import"./tokens.js";import{n as e,t}from"./chunks/swatch-B-lwyWNi.js";export{e as LuzmoSwatch,t as LuzmoSwatchGroup};
20
+ import"./tokens.js";import{n as e,t}from"./chunks/swatch-m_4GcO2_.js";export{e as LuzmoSwatch,t as LuzmoSwatchGroup};