UNPKG

test-isc

Version:

An Ionic component similar to Ionic Select, that allows to search items, including async search, group, add, edit, delete items, and much more.

1 lines 2.79 kB
import{g as o,c as n}from"./p-bdcea876.js";import{OVERLAY_BACK_BUTTON_PRIORITY as t}from"./p-f3a0c163.js";let e=0;const a=new WeakMap,s=o=>({create:n=>l(o,n),dismiss:(n,t,e)=>f(document,n,t,o,e),getTop:async()=>y(document,o)}),i=s("ion-alert"),r=s("ion-action-sheet"),c=s("ion-modal"),u=s("ion-picker"),d=s("ion-popover"),p=o=>{const n=document;m(n);const t=e++;o.overlayIndex=t,o.hasAttribute("id")||(o.id="ion-overlay-"+t)},l=(o,n)=>customElements.whenDefined(o).then(()=>{const t=document,e=t.createElement(o);return e.classList.add("overlay-hidden"),Object.assign(e,n),k(t).appendChild(e),e.componentOnReady()}),m=o=>{0===e&&(e=1,o.addEventListener("focusin",n=>{const t=y(o);if(t&&t.backdropDismiss&&!x(t,n.target)){const o=t.querySelector("input,button");o&&o.focus()}}),o.addEventListener("ionBackButton",n=>{const e=y(o);e&&e.backdropDismiss&&n.detail.register(t,()=>e.dismiss(void 0,P))}),o.addEventListener("keyup",n=>{if("Escape"===n.key){const n=y(o);n&&n.backdropDismiss&&n.dismiss(void 0,P)}}))},f=(o,n,t,e,a)=>{const s=y(o,e,a);return s?s.dismiss(n,t):Promise.reject("overlay does not exist")},y=(o,n,t)=>{const e=((o,n)=>(void 0===n&&(n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast"),Array.from(o.querySelectorAll(n)).filter(o=>o.overlayIndex>0)))(o,n);return void 0===t?e[e.length-1]:e.find(o=>o.id===t)},v=async(t,e,a,s,i)=>{if(t.presented)return;t.presented=!0,t.willPresent.emit();const r=o(t),c=t.enterAnimation?t.enterAnimation:n.get(e,"ios"===r?a:s);await b(t,c,t.el,i)&&t.didPresent.emit(),t.el.focus()},h=async(t,e,s,i,r,c,u)=>{if(!t.presented)return!1;t.presented=!1;try{t.el.style.setProperty("pointer-events","none"),t.willDismiss.emit({data:e,role:s});const d=o(t),p=t.leaveAnimation?t.leaveAnimation:n.get(i,"ios"===d?r:c);"gesture"!==s&&await b(t,p,t.el,u),t.didDismiss.emit({data:e,role:s}),a.delete(t)}catch(d){console.error(d)}return t.el.remove(),!0},k=o=>o.querySelector("ion-app")||o.body,b=async(o,t,e,s)=>{e.classList.remove("overlay-hidden");const i=t(e.shadowRoot||o.el,s);o.animated&&n.getBoolean("animated",!0)||i.duration(0),o.keyboardClose&&i.beforeAddWrite(()=>{const o=e.ownerDocument.activeElement;o&&o.matches("input, ion-input, ion-textarea")&&o.blur()});const r=a.get(o)||[];return a.set(o,[...r,i]),await i.play(),!0},g=(o,n)=>{let t;const e=new Promise(o=>t=o);return w(o,n,o=>{t(o.detail)}),e},w=(o,n,t)=>{const e=a=>{o.removeEventListener(n,e),t(a)};o.addEventListener(n,e)},j=o=>"cancel"===o||o===P,x=(o,n)=>{for(;n;){if(n===o)return!0;n=n.parentElement}return!1},B=o=>o(),E=(o,t)=>{if("function"==typeof o)return n.get("_zoneGate",B)(()=>{try{return o(t)}catch(n){console.error(n)}})},P="backdrop";export{P as B,v as a,u as b,a as c,h as d,g as e,d as f,r as g,i as h,j as i,c as m,p,E as s}