@ionic/core
Version:
Base components for Ionic
4 lines • 55 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{r as e,d as t,i as o,a as i,h as s,f as l,g as r,j as n}from"./p-BpRUsN_W.js";import{E as a}from"./p-DWCzVL3Y.js";import{g as c,c as d,a as p,b as h,d as b}from"./p-BpED_ep_.js";import{c as m,i as g}from"./p-sObYyvOy.js";import{c as x}from"./p-DJztqcrH.js";import{b as f,a as v,p as u}from"./p-Co7eql8D.js";import{p as w,b as k,a as y,m as z,s as C}from"./p-C1WYZOZj.js";import{i as j}from"./p-Dojwmvde.js";import{r as A,a as T,b as $}from"./p-DxftXYZp.js";import{h as P,c as O,g as I}from"./p-byZM6qHV.js";import{w as B}from"./p-Dtdm8lKC.js";import{w as N,f as S}from"./p-BvabGprD.js";import{b as E}from"./p-SEecsUh7.js";import{a as Y,g as D}from"./p-BSQPZ79H.js";import{r as H}from"./p-e1haAYzm.js";import"./p-nCAPr1Ah.js";import"./p-B_gJaBk0.js";const L=class{constructor(i){e(this,i),this.ionChange=t(this,"ionChange",7),this.ionCancel=t(this,"ionCancel",7),this.ionDismiss=t(this,"ionDismiss",7),this.ionFocus=t(this,"ionFocus",7),this.ionBlur=t(this,"ionBlur",7),this.ionStyle=t(this,"ionStyle",7),this.inputId="ion-sel-"+J++,this.helperTextId=`${this.inputId}-helper-text`,this.errorTextId=`${this.inputId}-error-text`,this.inheritedAttributes={},this.customHTMLEnabled=o.get("innerHTMLTemplatesEnabled",a),this.isExpanded=!1,this.hasFocus=!1,this.isInvalid=!1,this.cancelText="Cancel",this.disabled=!1,this.interface="alert",this.interfaceOptions={},this.labelPlacement="start",this.multiple=!1,this.name=this.inputId,this.okText="OK",this.required=!1,this.onClick=e=>{const t=c(e,this.el);if(null!==t){const o=e.target.closest(Q);if(null!==o&&t.contains(o))return}this.setFocus(),this.open(e)},this.onFocus=()=>{this.hasFocus=!0,this.ionFocus.emit()},this.onBlur=()=>{this.hasFocus=!1,this.ionBlur.emit()},this.onLabelClick=e=>{e.target===this.focusEl&&this.isExpanded&&e.stopPropagation()}}styleChanged(){this.emitStyle()}setValue(e){this.isValueEqual(this.value,e)||(this.value=e,this.ionChange.emit({value:e}))}isValueEqual(e,t){if(this.multiple){const o=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];if(o.length!==i.length)return!1;const s=o.slice();return i.every((e=>{const t=s.findIndex((t=>m(t,e,this.compareWith)));return-1!==t&&(s.splice(t,1),!0)}))}return null==e&&null==t||null!=e&&null!=t&&m(e,t,this.compareWith)}async connectedCallback(){const{el:e}=this;this.slotMutationController=d(e,["label","start","end"],(()=>{this.startEndContainerController?.calculateContainerWidths(),n(this)})),this.notchController=p(e,(()=>this.notchSpacerEl),(()=>this.labelSlot)),this.startEndContainerController=h(e,(()=>this.startContainerEl),(()=>this.endContainerEl),(()=>"md"===E(this)&&"outline"===this.fill)),this.startEndContainerController.calculateContainerWidths(),this.clickController=b(e),this.updateOverlayOptions(),this.emitStyle(),this.mutationO=B(this.el,"ion-select-option",(async()=>{this.updateOverlayOptions(),n(this)})),"undefined"!=typeof MutationObserver&&(this.validationObserver=new MutationObserver((()=>{const e=x(this.el);this.isInvalid!==e&&(this.isInvalid=e,Promise.resolve().then((()=>{this.hintTextId=this.getHintTextId()})))})),this.validationObserver.observe(e,{attributes:!0,attributeFilter:["class"]})),this.isInvalid=x(this.el)}componentWillLoad(){this.inheritedAttributes=f(this.el,["aria-label"]),this.hintTextId=this.getHintTextId()}componentDidLoad(){this.emitStyle()}disconnectedCallback(){this.mutationO&&(this.mutationO.disconnect(),this.mutationO=void 0),this.slotMutationController&&(this.slotMutationController.destroy(),this.slotMutationController=void 0),this.notchController&&(this.notchController.destroy(),this.notchController=void 0),this.startEndContainerController&&(this.startEndContainerController.destroy(),this.startEndContainerController=void 0),this.validationObserver&&(this.validationObserver.disconnect(),this.validationObserver=void 0)}async open(e){if(this.disabled||this.isExpanded)return;this.isExpanded=!0;const t=this.overlay=await this.createOverlay(e),o=()=>{const e=this.childOpts.findIndex((e=>e.value===this.value));if(e>-1){const o=t.querySelector(`.select-interface-option:nth-of-type(${e+1})`);if(o){const e=o.querySelector("ion-radio, ion-checkbox");e&&(o.scrollIntoView({block:"nearest"}),e.setFocus()),u(o)}}else{const e=t.querySelector("ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)");e&&(e.setFocus(),u(e.closest("ion-item")))}};if("modal"===this.interface)t.addEventListener("ionModalWillPresent",o,{once:!0});else if("popover"===this.interface)t.addEventListener("ionPopoverWillPresent",o,{once:!0});else{const e=()=>{requestAnimationFrame((()=>{o()}))};"alert"===this.interface?t.addEventListener("ionAlertWillPresent",e,{once:!0}):"action-sheet"===this.interface&&t.addEventListener("ionActionSheetWillPresent",e,{once:!0})}return t.onDidDismiss().then((()=>{this.overlay=void 0,this.isExpanded=!1,this.ionDismiss.emit(),this.setFocus()})),await t.present(),t}createOverlay(e){let t=this.interface;return"action-sheet"===t&&this.multiple&&(i(`[ion-select] - Interface cannot be "${t}" with a multi-value select. Using the "alert" interface instead.`),t="alert"),"popover"!==t||e||(i(`[ion-select] - Interface cannot be a "${t}" without passing an event. Using the "alert" interface instead.`),t="alert"),"action-sheet"===t?this.openActionSheet():"popover"===t?this.openPopover(e):"modal"===t?this.openModal():this.openAlert()}updateOverlayOptions(){const e=this.overlay;if(!e)return;const t=this.childOpts,o=this.value;switch(this.interface){case"action-sheet":e.buttons=this.createActionSheetButtons(t,o);break;case"popover":const i=e.querySelector("ion-select-popover");i&&(i.options=this.createOverlaySelectOptions(t,o));break;case"modal":const s=e.querySelector("ion-select-modal");s&&(s.options=this.createOverlaySelectOptions(t,o));break;case"alert":e.inputs=this.createAlertInputs(t,this.multiple?"checkbox":"radio",o)}}createActionSheetButtons(e,t){const o=e.map((e=>{const o=_(e),i=Array.from(e.classList).filter((e=>"hydrated"!==e)).join(" "),s=`${G} ${i}`,l=g(t,o,this.compareWith),{content:r,startContent:n,endContent:a}=R(e,this.customHTMLEnabled);return{text:r??"",cssClass:s,disabled:e.disabled,handler:()=>{this.setValue(o)},htmlAttributes:{"aria-checked":l?"true":"false",role:"radio"},startContent:n,endContent:a,description:e.description}}));return o.push({text:this.cancelText,role:"cancel",handler:()=>{this.ionCancel.emit()}}),o}createAlertInputs(e,t,o){return e.map((e=>{const i=_(e),s=Array.from(e.classList).filter((e=>"hydrated"!==e)).join(" "),l=`${G} ${s}`,{content:r,startContent:n,endContent:a}=R(e,this.customHTMLEnabled);return{type:t,cssClass:l,label:r??"",value:i,checked:g(o,i,this.compareWith),disabled:e.disabled,startContent:n,endContent:a,description:e.description,labelPlacement:e.labelPlacement,justify:e.justify}}))}createOverlaySelectOptions(e,t){return e.map((e=>{const o=_(e),i=Array.from(e.classList).filter((e=>"hydrated"!==e)).join(" "),s=`${G} ${i}`,{content:l,startContent:r,endContent:n}=R(e,this.customHTMLEnabled);return{text:l??"",cssClass:s,value:o,checked:g(t,o,this.compareWith),disabled:e.disabled,handler:e=>{this.setValue(e),this.multiple||this.close()},startContent:r,endContent:n,description:e.description,labelPlacement:e.labelPlacement,justify:e.justify}}))}async openPopover(e){const{fill:t,labelPlacement:o}=this,i=this.interfaceOptions,s=E(this),l="md"!==s,r=this.multiple,n=this.value;let a=e,c="auto";"floating"===o||"stacked"===o||"md"===s&&void 0!==t?c="cover":a={...e,detail:{ionShadowTarget:this.nativeWrapperEl}};const d=this.createOverlaySelectOptions(this.childOpts,n),p=d.some((e=>Boolean(e.startContent)||Boolean(e.endContent)||Boolean(e.description))),h={mode:s,event:a,alignment:"center",size:c,showBackdrop:l,...i,component:"ion-select-popover",cssClass:["select-popover",p?"select-popover-rich-content":void 0,i.cssClass],componentProps:{header:i.header,subHeader:i.subHeader,message:i.message,multiple:r,value:n,options:d}};return w.create(h)}async openActionSheet(){const e=E(this),t=this.interfaceOptions,o={mode:e,...t,buttons:this.createActionSheetButtons(this.childOpts,this.value),cssClass:["select-action-sheet",t.cssClass]};return k.create(o)}async openAlert(){const e=this.interfaceOptions,t=this.multiple?"checkbox":"radio",o={mode:E(this),...e,header:e.header?e.header:this.labelText,inputs:this.createAlertInputs(this.childOpts,t,this.value),buttons:[{text:this.cancelText,role:"cancel",handler:()=>{this.ionCancel.emit()}},{text:this.okText,handler:e=>{this.setValue(e)}}],cssClass:["select-alert",e.cssClass,this.multiple?"multiple-select-alert":"single-select-alert"]};return y.create(o)}openModal(){const{multiple:e,value:t,interfaceOptions:o}=this,i=E(this),s={...o,mode:i,cssClass:["select-modal",o.cssClass],component:"ion-select-modal",componentProps:{header:o.header,cancelText:this.cancelText,multiple:e,value:t,options:this.createOverlaySelectOptions(this.childOpts,t)}};return z.create(s)}close(){return this.overlay?this.overlay.dismiss():Promise.resolve(!1)}hasValue(){return""!==this.getText()}get childOpts(){return Array.from(this.el.querySelectorAll("ion-select-option"))}get labelText(){const{label:e}=this;if(void 0!==e)return e;const{labelSlot:t}=this;return null!==t?t.textContent:void 0}getText(e=!1){const t=this.selectedText;return null!=t&&""!==t?t:W(this.childOpts,this.value,this.compareWith,e)}setFocus(){this.focusEl&&this.focusEl.focus()}emitStyle(){const{disabled:e}=this;this.ionStyle.emit({"interactive-disabled":e})}onClickCapture(e){this.clickController?.handleClickCapture(e)}renderLabel(){const{label:e}=this;return s("div",{class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!this.hasLabel},part:"label"},void 0===e?s("slot",{name:"label"}):s("div",{class:"label-text"},e))}componentDidRender(){this.notchController?.calculateNotchWidth(),this.startEndContainerController?.calculateContainerWidths()}get labelSlot(){return this.el.querySelector('[slot="label"]')}get hasLabel(){return void 0!==this.label||null!==this.labelSlot}renderOutlineContainer(){return s("div",{class:"select-outline-container"},s("div",{class:"select-outline-start"}),s("div",{class:{"select-outline-notch":!0,"select-outline-notch-hidden":!this.hasLabel}},s("div",{class:"notch-spacer","aria-hidden":"true",ref:e=>this.notchSpacerEl=e},this.label)),s("div",{class:"select-outline-end"}))}wrapSelectTextNodes(e){const t=document.createElement("div");return t.innerHTML=e,Array.from(t.childNodes).some((e=>e.nodeType===Node.ELEMENT_NODE))?(Array.from(t.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE&&e.textContent?.trim()){const t=e.textContent.match(/^(,\s*)(.*)/);if(t){const o=document.createTextNode(t[1]),i=document.createElement("span");return i.textContent=t[2],e.parentNode?.replaceChild(i,e),void i.parentNode?.insertBefore(o,i)}const o=document.createElement("span");e.parentNode?.replaceChild(o,e),o.appendChild(e)}})),t.innerHTML):e}renderSelectText(){const{placeholder:e}=this;let t=!1,o=this.getText(!0);""===o&&void 0!==e&&(o=e,t=!0);const i={"select-text":!0,"select-placeholder":t},l=t?"placeholder":"text";if(this.customHTMLEnabled){const e=this.wrapSelectTextNodes(o);return s("div",{"aria-hidden":"true",class:i,part:l,innerHTML:e})}return s("div",{"aria-hidden":"true",class:i,part:l},o)}renderSelectIcon(){const e=E(this),{isExpanded:t,toggleIcon:o,expandedIcon:i}=this;let l;return l=t&&void 0!==i?i:o??("ios"===e?N:S),s("ion-icon",{class:"select-icon",part:"icon","aria-hidden":"true",icon:l})}get ariaLabel(){const{placeholder:e,inheritedAttributes:t}=this,o=this.getText(),i=t["aria-label"]??this.labelText;let s=o;return""===s&&void 0!==e&&(s=e),void 0!==i&&(s=""===s?i:`${i}, ${s}`),s}renderListbox(){const{disabled:e,inputId:t,isExpanded:o,required:i}=this;return s("button",{disabled:e,id:t,"aria-label":this.ariaLabel,"aria-haspopup":"dialog","aria-expanded":`${o}`,"aria-describedby":this.hintTextId,"aria-invalid":this.isInvalid?"true":void 0,"aria-required":`${i}`,onFocus:this.onFocus,onBlur:this.onBlur,ref:e=>this.focusEl=e})}getHintTextId(){const{helperText:e,errorText:t,helperTextId:o,errorTextId:i,isInvalid:s}=this;return s&&t?i:e?o:void 0}renderHintText(){const{helperText:e,errorText:t,helperTextId:o,errorTextId:i,isInvalid:l}=this;return[s("div",{id:o,class:"helper-text",part:"supporting-text helper-text","aria-live":"polite"},l?null:e),s("div",{id:i,class:"error-text",part:"supporting-text error-text",role:"alert"},l?t:null)]}renderBottomContent(){const{helperText:e,errorText:t}=this;if(e||t)return s("div",{class:"select-bottom",part:"bottom"},this.renderHintText())}render(){const{disabled:e,el:t,isExpanded:o,expandedIcon:i,labelPlacement:r,justify:n,placeholder:a,fill:c,shape:d,name:p,value:h,hasFocus:b}=this,m=E(this),g="floating"===r||"stacked"===r,x=!g&&void 0!==n,f=j(t)?"rtl":"ltr",u=P("ion-item",this.el),w="md"===m&&"outline"!==c&&!u,k=this.hasValue(),y="md"===m&&"outline"===c;v(!0,t,p,M(h),e);const z="stacked"===r||"floating"===r&&(k||b||o);return s(l,{key:"c1949b8a58c5bde1cc7627d3b32c54bcb46a4752",onClick:this.onClick,class:O(this.color,{[m]:!0,"in-item":u,"in-item-color":P("ion-item.ion-color",t),"select-disabled":e,"select-expanded":o,"has-expanded-icon":void 0!==i,"has-value":k,"label-floating":z,"has-placeholder":void 0!==a,"has-focus":b,"ion-focusable":!0,[`select-${f}`]:!0,[`select-fill-${c}`]:void 0!==c,[`select-justify-${n}`]:x,[`select-shape-${d}`]:void 0!==d,[`select-label-placement-${r}`]:!0})},s("label",{key:"af4521a3679d9e4e08511e205f53663d8d5b6701",class:"select-wrapper",id:"select-label",onClick:this.onLabelClick,part:"wrapper"},y&&this.renderOutlineContainer(),s("div",{key:"73e13f28ed4c2b0e9115f3d1b86934b84f8c5bc0",class:"select-start",part:"start",ref:e=>this.startContainerEl=e},s("slot",{key:"ce88e5bbb15a4cde6a5f8580a35d7099e315e9e6",name:"start"})),s("div",{key:"d1557c3d0ff41f5070a27b719fbfaf18eafa9052",class:"select-control",part:"control"},this.renderLabel(),s("div",{key:"bcd03ac6c6d72ab76a4344069d83c29a2cdaabf0",class:"native-wrapper",ref:e=>this.nativeWrapperEl=e,part:"container"},this.renderSelectText(),this.renderListbox(),!g&&this.renderSelectIcon())),s("div",{key:"9be05035c1efb5c332a0044c81e032215c81278b",class:"select-end",part:"end",ref:e=>this.endContainerEl=e},g&&this.renderSelectIcon(),s("slot",{key:"551ab0cf3594805caaf14f36197f9cc56b9ee46a",name:"end"})),w&&s("div",{key:"dd500fb4ae7d91d1733fec521dac9baaef6654a0",class:"select-highlight"})),this.renderBottomContent())}get el(){return r(this)}static get watchers(){return{disabled:[{styleChanged:0}],isExpanded:[{styleChanged:0}],placeholder:[{styleChanged:0}],value:[{styleChanged:0}]}}},_=e=>{const t=e.value;return void 0===t?e.textContent||"":t},M=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()},W=(e,t,o,i=!1)=>void 0===t?"":Array.isArray(t)?t.map((t=>q(e,t,o,i))).filter((e=>null!==e)).join(", "):q(e,t,o,i)||"",q=(e,t,i,s=!1)=>{const l=e.find((e=>m(t,_(e),i))),r=o.get("innerHTMLTemplatesEnabled",a);return l?r&&s?V(l,void 0,!0):K(l)||null:null},F=e=>{e.childNodes.forEach((e=>{e.nodeType===Node.TEXT_NODE?e.textContent=e.textContent?.trim()||"":e.nodeType===Node.ELEMENT_NODE&&F(e)}))},V=(e,t,o=!1)=>{let i;if(i=t?Array.from(e.children).filter((e=>e.getAttribute("slot")===t)):(U(e)||[]).filter((e=>e.nodeType!==Node.TEXT_NODE||0!==e.textContent?.trim().length)),0===i.length)return null;if(!t&&i.every((e=>e.nodeType===Node.TEXT_NODE)))return K(e)||null;i.forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&A(e)}));const s=document.createElement("div");return i.forEach((e=>{const t=e.cloneNode(!0);t.nodeType===Node.TEXT_NODE?t.textContent=t.textContent?.trim()||"":F(t),s.appendChild(t)})),T(s),o?s.innerHTML.trim()||null:s},U=e=>{const t=Array.from(e.childNodes).filter((e=>e.nodeType===Node.ELEMENT_NODE?!e.hasAttribute("slot"):e.nodeType===Node.TEXT_NODE));return 0===t.length?null:t},Z=e=>e.nodeType===Node.TEXT_NODE?e.textContent??"":e.nodeType!==Node.ELEMENT_NODE||$.includes(e.tagName.toLowerCase())?"":Array.from(e.childNodes).map((e=>Z(e))).join(""),K=e=>(U(e)??[]).map((e=>Z(e))).join("").replace(/[ \t\n\r\f]+/g," ").replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),R=(e,t)=>t?{content:V(e),startContent:V(e,"start")??void 0,endContent:V(e,"end")??void 0}:{content:K(e),startContent:void 0,endContent:void 0};let J=0;const G="select-interface-option",Q=["a[href]","button",'input[type="checkbox"]','input[type="radio"]',"ion-button","ion-checkbox","ion-radio","ion-toggle",'[tabindex]:not([tabindex^="-"])',".ion-focusable"].join(", ");L.style={ios:":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}.select-text{-ms-flex:1;flex:1;min-width:2ch;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-control{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:inherit;justify-content:inherit;min-width:0}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}:host(.skip-label-transition) .label-text-wrapper{-webkit-transition:none;transition:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:100000;flex-shrink:100000;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-control,:host(.select-label-placement-floating) .select-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:0}:host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:var(--placeholder-opacity)}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.select-start,.select-end{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}",md:":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}.select-text{-ms-flex:1;flex:1;min-width:2ch;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-control{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:inherit;justify-content:inherit;min-width:0}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}:host(.skip-label-transition) .label-text-wrapper{-webkit-transition:none;transition:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-negative:100000;flex-shrink:100000;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-control,:host(.select-label-placement-floating) .select-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:0}:host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:var(--placeholder-opacity)}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.select-start,.select-end{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.select-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-solid) .select-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.select-expanded.select-fill-solid.ion-valid),:host(.has-focus.select-fill-solid.ion-valid),:host(.select-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-bottom{border-top:none}@media (any-hover: hover){:host(.select-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-solid.select-expanded),:host(.select-fill-solid.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.select-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;--internal-start-container-adjustment:0px;--internal-start-end-container-width:0px;min-height:56px}:host(.select-fill-outline.select-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.select-fill-outline.ion-valid),:host(.select-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.select-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-outline.select-expanded),:host(.select-fill-outline.has-focus){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.select-fill-outline) .select-bottom{border-top:none}:host(.select-fill-outline) .select-wrapper{border-bottom:none}:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper{position:absolute;max-width:100%}:host(.select-fill-outline) .label-text-wrapper{position:relative;z-index:1}:host(.select-fill-outline) .select-control{position:relative}:host(.label-floating.select-fill-outline) .label-text-wrapper{-webkit-transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);transform:translate(var(--internal-start-container-adjustment, 0px), -32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc((100% + var(--internal-start-end-container-width) - 8px) / 0.75)}:host(.select-fill-outline.select-label-placement-stacked) select,:host(.select-fill-outline.select-label-placement-floating) select{margin-left:0;margin-right:0;margin-top:6px;margin-bottom:6px}:host(.select-fill-outline) .select-outline-container{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-end{pointer-events:none}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-notch,:host(.select-fill-outline) .select-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.select-fill-outline) .select-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none}:host(.select-fill-outline) .select-outline-start{-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius);width:calc(var(--padding-start) - 4px)}:host(.select-fill-outline) .select-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color);border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px;-ms-flex-positive:1;flex-grow:1}:host(.label-floating.select-fill-outline) .select-outline-notch{border-top:none}:host(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon{color:var(--highlight-color)}:host{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--highlight-height:2px}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.has-focus) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.has-focus) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}.select-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.select-highlight{inset-inline-start:0}:host(.select-expanded) .select-highlight,:host(.has-focus) .select-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .select-highlight{bottom:0}:host(.in-item) .select-highlight{inset-inline-start:0}.select-icon{width:0.8125rem;-webkit-transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.in-item.select-expanded) .select-wrapper .select-icon,:host(.in-item.has-focus) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded) .select-wrapper .select-icon,:host(.has-focus.ion-valid) .select-wrapper .select-icon,:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,:host(.has-focus) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-shape-round){--border-radius:16px}:host(.select-disabled){opacity:0.38}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}"};const X=class{constructor(t){e(this,t),this.inputId="ion-selopt-"+ee++,this.disabled=!1}render(){return s(l,{key:"01275b5a613c4b065b24e0d939f611f6ed1fc9ee",role:"option",id:this.inputId,class:E(this)})}get el(){return r(this)}};let ee=0;X.style=":host{display:none}";const te=class{constructor(t){e(this,t),this.pendingEnterTarget=null,this.options=[]}findOptionFromEvent(e){const{options:t}=this;return t.find((t=>t.value===e.target.value))}callOptionHandler(e){const t=this.findOptionFromEvent(e),o=this.getValues(e);t?.handler&&C(t.handler,o)}dismissParentPopover(){const e=this.el.closest("ion-popover");e&&e.dismiss()}setChecked(e){const{multiple:t}=this,o=this.findOptionFromEvent(e);t&&o&&(o.checked=e.detail.checked)}getValues(e){const{multiple:t,options:o}=this;if(t)return o.filter((e=>e.checked)).map((e=>e.value));const i=this.findOptionFromEvent(e);return i?i.value:void 0}renderOptions(e){const{multiple:t}=this;return!0===t?this.renderCheckboxOptions(e):this.renderRadioOptions(e)}renderCheckboxOptions(e){const t=E(this);return e.map(((e,o)=>{const i=e,l=!!i.startContent||!!i.endContent||!!i.description,r={id:`popover-option-${o}`,label:i.text,startContent:i.startContent,endContent:i.endContent,description:i.description},a=Y(t,"checkbox"),c=D(t,"checkbox");return s("ion-item",{disabled:e.disabled,class:{"item-checkbox-checked":e.checked,...I(e.cssClass)}},s("ion-checkbox",{class:{"select-option-has-rich-content":l},value:e.value,disabled:e.disabled,checked:e.checked,justify:i.justify??c,labelPlacement:i.labelPlacement??a,onIonChange:e=>{this.setChecked(e),this.callOptionHandler(e),n(this)}},H(r,"select-option-label")))}))}renderRadioOptions(e){const t=E(this),o=e.filter((e=>e.checked)).map((e=>e.value))[0];return s("ion-radio-group",{value:o,onIonChange:e=>this.callOptionHandler(e)},e.map(((e,i)=>{const l=e,r=!!l.startContent||!!l.endContent||!!l.description,n={id:`popover-option-${i}`,label:l.text,startContent:l.startContent,endContent:l.endContent,description:l.description};return s("ion-item",{disabled:e.disabled,class:{"item-radio-checked":e.value===o,...I(e.cssClass)}},s("ion-radio",{class:{"select-option-has-rich-content":r},value:e.value,disabled:e.disabled,justify:l.justify??D(t,"radio"),labelPlacement:l.labelPlacement??Y(t,"radio"),onClick:()=>this.dismissParentPopover(),onKeyDown:e=>{"Enter"!==e.key||e.repeat||(this.pendingEnterTarget=e.currentTarget)},onKeyUp:e=>{if(" "===e.key)this.dismissParentPopover();else if("Enter"===e.key){const t=this.pendingEnterTarget===e.currentTarget;this.pendingEnterTarget=null,t&&this.dismissParentPopover()}}},H(n,"select-option-label")))})))}render(){const{header:e,message:t,options:o,subHeader:i}=this,r=void 0!==i||void 0!==t;return s(l,{key:"4b4ac4a4b6523147e7c1f5e29dd8043867f2baea",class:E(this)},s("ion-list",{key:"f700d3dc3ce68c20a4d981164b29262564097fb4"},void 0!==e&&s("ion-list-header",{key:"196bcd7963f13ef8bc46231545eee4cb8d526f5e"},e),r&&s("ion-item",{key:"bb108e0aa2409997df35f52cb67e58e55e0fd630"},s("ion-label",{key:"59e8d9196ff976f3835766662654c0f085e58ec3",class:"ion-text-wrap"},void 0!==i&&s("h3",{key:"532f75d7c129ffadca4e6cbb619a4427aaede65c"},i),void 0!==t&&s("p",{key:"fc42c91594b9001e983cb5e4176fc4c9bff0f708"},t))),this.renderOptions(o)))}get el(){return r(this)}};te.style={ios:'.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-ios,.alert-checkbox-label-text.sc-ion-select-popover-ios,.alert-radio-label-text.sc-ion-select-popover-ios,.select-option-label-text.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios{width:44px;height:44px}.select-option-start.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios{font-size:28px}.action-sheet-button-label-text.sc-ion-select-popover-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-popover-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}',md:'.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-md,.alert-checkbox-label-text.sc-ion-select-popover-md,.alert-radio-label-text.sc-ion-select-popover-md,.select-option-label-text.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md{width:40px;height:40px}.select-option-start.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md{font-size:24px}.select-option-start.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md{width:56px;height:56px}.select-option-start.sc-ion-select-popover-md>video.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>video.sc-ion-select-popover-md{width:114px;height:56px}.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}'};export{L as ion_select,X as ion_select_option,te as ion_select_popover}