import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as n,transformTag as l}from"@stencil/core/internal/client";const o=["acre","bit","byte","celsius","centimeter","day","degree","fahrenheit","fluid-ounce","foot","gallon","gigabit","gigabyte","gram","hectare","hour","inch","kilobit","kilobyte","kilogram","kilometer","liter","megabit","megabyte","meter","microsecond","mile","mile-scandinavian","milliliter","millimeter","millisecond","minute","month","nanosecond","ounce","percent","petabyte","pound","second","stone","terabit","terabyte","week","yard","year"],r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.getOptionValue=t=>t.value,this.getAffixValue=t=>{if(0!==t.length)return t.map((t=>t.value))},this.handleChangeOptions=(t,e=t=>t)=>i=>{i.stopPropagation(),this.change.emit(Object.assign(Object.assign({},this.value),{options:Object.assign(Object.assign({},this.value.options),{[t]:e(i.detail)||void 0})}))},this.handleChangeAffix=t=>e=>{e.stopPropagation(),this.change.emit(Object.assign(Object.assign({},this.value),{[t]:this.getAffixValue(e.detail)}))}}render(){return[this.renderNotation(),this.renderUnit(),this.renderUnitDisplay(),this.renderCompactDisplay(),this.renderAffix("prefix"),this.renderAffix("suffix")]}renderUnit(){const t=o.map((t=>({value:t,text:this.getUnitName(t)}))).filter((t=>t.text)),e=t.find((t=>{var e;return t.value===(null===(e=this.value.options)||void 0===e?void 0:e.unit)}));return n("limel-select",{label:"Unit",options:t,value:e,onChange:this.handleChangeOptions("unit",this.getOptionValue)})}getUnitName(t){var e,i;return null!==(i=null===(e=Intl.NumberFormat("en",{style:"unit",unit:t,unitDisplay:"long"}).formatToParts(1).find((t=>"unit"===t.type)))||void 0===e?void 0:e.value)&&void 0!==i?i:""}renderUnitDisplay(){const t=[{value:"short",text:"Short"},{value:"long",text:"Long"}],e=t.find((t=>{var e;return t.value===(null===(e=this.value.options)||void 0===e?void 0:e.unitDisplay)}));return n("limel-select",{label:"Unit display",helperText:"The unit formatting style to use in unit formatting",options:t,value:e,onChange:this.handleChangeOptions("unitDisplay",this.getOptionValue)})}renderNotation(){const t=[{text:"Standard",value:"standard"},{text:"Compact",value:"compact"}],e=t.find((t=>{var e;return t.value===(null===(e=this.value.options)||void 0===e?void 0:e.notation)}));return n("limel-select",{label:"Notation",helperText:"The formatting that should be displayed for the number",options:t,value:e,onChange:this.handleChangeOptions("notation",this.getOptionValue)})}renderCompactDisplay(){const t=[{text:"Short",value:"short"},{text:"Long",value:"long"}],e=t.find((t=>{var e;return t.value===(null===(e=this.value.options)||void 0===e?void 0:e.compactDisplay)}));return n("limel-select",{label:"Compact display",options:t,value:e,onChange:this.handleChangeOptions("compactDisplay",this.getOptionValue)})}renderAffix(t){const e=[{text:"Compact notation",value:"compact"},{text:"Unit",value:"unit"}],i=e.filter((e=>{var i;return null===(i=this.value[t])||void 0===i?void 0:i.includes(e.value)}));return n("limel-select",{multiple:!0,label:t.charAt(0).toUpperCase()+t.slice(1),options:e,value:i,onChange:this.handleChangeAffix(t)})}},[1,"limebb-info-tile-unit-format",{value:[16]}]),s=r,a=function(){"undefined"!=typeof customElements&&["limebb-info-tile-unit-format"].forEach((t=>{"limebb-info-tile-unit-format"===t&&(customElements.get(l(t))||customElements.define(l(t),r))}))};export{s as LimebbInfoTileUnitFormat,a as defineCustomElement}