@ionic/core
Version:
Base components for Ionic
4 lines • 3.73 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{w as a}from"./p-ZjP4CjeZ.js";import{c as i}from"./p-Ct2aBEue.js";import{i as e}from"./p-Dojwmvde.js";const r=(a,i=0)=>new Promise((e=>{t(a,i,e)})),t=(a,i=0,e)=>{let r,t;const n={passive:!0},o=()=>{r&&r()},s=i=>{void 0!==i&&a!==i.target||(o(),e(i))};return a&&(a.addEventListener("webkitTransitionEnd",s,n),a.addEventListener("transitionend",s,n),t=setTimeout(s,i+500),r=()=>{void 0!==t&&(clearTimeout(t),t=void 0),a.removeEventListener("webkitTransitionEnd",s,n),a.removeEventListener("transitionend",s,n)}),o},n=(a,i)=>{a.componentOnReady?a.componentOnReady().then((a=>i(a))):f((()=>i(a)))},o=a=>void 0!==a.componentOnReady,s=(a,i=[])=>{const e={};return i.forEach((i=>{a.hasAttribute(i)&&(null!==a.getAttribute(i)&&(e[i]=a.getAttribute(i)),a.removeAttribute(i))})),e},l=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],u=a=>s(a,l),d=(a,i,e,r)=>a.addEventListener(i,e,r),c=(a,i,e,r)=>a.removeEventListener(i,e,r),p=(i,e,r,t)=>{const n=a?.document;if(!n||!i||"undefined"==typeof ResizeObserver)return()=>{};const o=n.createElement("div");o.style.cssText=`position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;width:0;height:var(${e},0px);`,i.appendChild(o);let s=t;const l=new ResizeObserver((a=>{const{height:i}=a[0].contentRect;void 0!==s&&i!==s&&r(i),s=i}));return l.observe(o),()=>{l.disconnect(),o.remove()}},m=(a,i=a)=>a.shadowRoot||i,f=a=>"function"==typeof __zone_symbol__requestAnimationFrame?__zone_symbol__requestAnimationFrame(a):"function"==typeof requestAnimationFrame?requestAnimationFrame(a):setTimeout(a),v=a=>!!a.shadowRoot&&!!a.attachShadow,b=a=>{if(a.focus(),a.classList.contains("ion-focusable")){const i=a.closest("ion-app");i&&i.setFocus([a])}},w=(a,i,e,r,t)=>{{let a=i.querySelector("input.aux-input");a||(a=i.ownerDocument.createElement("input"),a.type="hidden",a.classList.add("aux-input"),i.appendChild(a)),a.disabled=t,a.name=e,a.value=r||""}},h=(a,i,e)=>Math.max(a,Math.min(i,e)),x=(a,e)=>{if(!a){const a="ASSERT: "+e;throw i(a),new Error(a)}},y=a=>{if(a){const i=a.changedTouches;if(i&&i.length>0){const a=i[0];return{x:a.clientX,y:a.clientY}}if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY}}return{x:0,y:0}},_=(a,i)=>{const r=e(i);switch(a){case"start":return r;case"end":return!r;default:throw new Error(`"${a}" is not a valid value for [side]. Use "start" or "end" instead.`)}},j=(a,i)=>{const e=a._original||a;return{_original:a,emit:T(e.emit.bind(e),i)}},T=(a,i=0)=>{let e;return(...r)=>{clearTimeout(e),e=setTimeout(a,i,...r)}},q=(a,i)=>{if(a??={},i??={},a===i)return!0;const e=Object.keys(a);if(e.length!==Object.keys(i).length)return!1;for(const r of e){if(!(r in i))return!1;if(a[r]!==i[r])return!1}return!0},E=a=>"number"==typeof a&&!isNaN(a)&&isFinite(a);export{d as a,c as b,n as c,w as d,h as e,b as f,m as g,v as h,u as i,s as j,l as k,o as l,j as m,_ as n,x as o,p,E as q,f as r,T as s,r as t,q as u,y as v}