@ionic/core
Version:
Base components for Ionic
4 lines • 12.7 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{d as e,H as o,h as t,j as s,f as i,t as c}from"./p-Ct2aBEue.js";import{a as n,g as l}from"./p-BSQPZ79H.js";import{s as p}from"./p-B02CcbPD.js";import{r}from"./p-CwEis84J.js";import{g as a}from"./p-byZM6qHV.js";import{b as d}from"./p-HthJZjZ6.js";import{d as m}from"./p-ZrYBjOcc.js";import{d as h}from"./p-ChkSQqfP.js";import{d as v}from"./p-_y7kwBO8.js";import{d as b}from"./p-Drpw2dyl.js";import{d as f}from"./p-BMHdI-wb.js";import{d as x}from"./p-hLu-eIbb.js";import{d as g}from"./p-DBtFJlTi.js";import{d as u}from"./p--cshUOAU.js";import{d as k}from"./p-7KepMw9O.js";const y=e(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.pendingEnterTarget=null,this.options=[]}findOptionFromEvent(e){const{options:o}=this;return o.find((o=>o.value===e.target.value))}callOptionHandler(e){const o=this.findOptionFromEvent(e),t=this.getValues(e);o?.handler&&p(o.handler,t)}dismissParentPopover(){const e=this.el.closest("ion-popover");e&&e.dismiss()}setChecked(e){const{multiple:o}=this,t=this.findOptionFromEvent(e);o&&t&&(t.checked=e.detail.checked)}getValues(e){const{multiple:o,options:t}=this;if(o)return t.filter((e=>e.checked)).map((e=>e.value));const s=this.findOptionFromEvent(e);return s?s.value:void 0}renderOptions(e){const{multiple:o}=this;return!0===o?this.renderCheckboxOptions(e):this.renderRadioOptions(e)}renderCheckboxOptions(e){const o=d(this);return e.map(((e,i)=>{const c=e,p=!!c.startContent||!!c.endContent||!!c.description,d={id:`popover-option-${i}`,label:c.text,startContent:c.startContent,endContent:c.endContent,description:c.description},m=n(o,"checkbox"),h=l(o,"checkbox");return t("ion-item",{disabled:e.disabled,class:{"item-checkbox-checked":e.checked,...a(e.cssClass)}},t("ion-checkbox",{class:{"select-option-has-rich-content":p},value:e.value,disabled:e.disabled,checked:e.checked,justify:c.justify??h,labelPlacement:c.labelPlacement??m,onIonChange:e=>{this.setChecked(e),this.callOptionHandler(e),s(this)}},r(d,"select-option-label")))}))}renderRadioOptions(e){const o=d(this),s=e.filter((e=>e.checked)).map((e=>e.value))[0];return t("ion-radio-group",{value:s,onIonChange:e=>this.callOptionHandler(e)},e.map(((e,i)=>{const c=e,p=!!c.startContent||!!c.endContent||!!c.description,d={id:`popover-option-${i}`,label:c.text,startContent:c.startContent,endContent:c.endContent,description:c.description};return t("ion-item",{disabled:e.disabled,class:{"item-radio-checked":e.value===s,...a(e.cssClass)}},t("ion-radio",{class:{"select-option-has-rich-content":p},value:e.value,disabled:e.disabled,justify:c.justify??l(o,"radio"),labelPlacement:c.labelPlacement??n(o,"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 o=this.pendingEnterTarget===e.currentTarget;this.pendingEnterTarget=null,o&&this.dismissParentPopover()}}},r(d,"select-option-label")))})))}render(){const{header:e,message:o,options:s,subHeader:c}=this,n=void 0!==c||void 0!==o;return t(i,{key:"4b4ac4a4b6523147e7c1f5e29dd8043867f2baea",class:d(this)},t("ion-list",{key:"f700d3dc3ce68c20a4d981164b29262564097fb4"},void 0!==e&&t("ion-list-header",{key:"196bcd7963f13ef8bc46231545eee4cb8d526f5e"},e),n&&t("ion-item",{key:"bb108e0aa2409997df35f52cb67e58e55e0fd630"},t("ion-label",{key:"59e8d9196ff976f3835766662654c0f085e58ec3",class:"ion-text-wrap"},void 0!==c&&t("h3",{key:"532f75d7c129ffadca4e6cbb619a4427aaede65c"},c),void 0!==o&&t("p",{key:"fc42c91594b9001e983cb5e4176fc4c9bff0f708"},o))),this.renderOptions(s)))}get el(){return this}static get style(){return{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)}'}}},[34,"ion-select-popover",{header:[1],subHeader:[1,"sub-header"],message:[1],multiple:[4],options:[16]}]);function w(){"undefined"!=typeof customElements&&["ion-select-popover","ion-checkbox","ion-icon","ion-item","ion-label","ion-list","ion-list-header","ion-radio","ion-radio-group","ion-ripple-effect"].forEach((e=>{switch(e){case"ion-select-popover":customElements.get(c(e))||customElements.define(c(e),y);break;case"ion-checkbox":customElements.get(c(e))||m();break;case"ion-icon":customElements.get(c(e))||h();break;case"ion-item":customElements.get(c(e))||v();break;case"ion-label":customElements.get(c(e))||b();break;case"ion-list":customElements.get(c(e))||f();break;case"ion-list-header":customElements.get(c(e))||x();break;case"ion-radio":customElements.get(c(e))||g();break;case"ion-radio-group":customElements.get(c(e))||u();break;case"ion-ripple-effect":customElements.get(c(e))||k()}}))}export{y as S,w as d}