{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm/chunk-00265c49.js","webpack:///./node_modules/@ionic/core/dist/esm/chunk-4e92c885.js","webpack:///./node_modules/@ionic/core/dist/esm/chunk-638b009b.js","webpack:///./node_modules/@ionic/core/dist/esm/chunk-ba834eff.js","webpack:///./node_modules/@ionic/core/dist/esm/chunk-c90aaa66.js","webpack:///./node_modules/@ionic/core/dist/esm/chunk-cae2ca23.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-avatar_3-ios.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-avatar_3-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-backdrop-ios.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-backdrop-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-chip-ios.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-chip-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-img.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-ripple-effect.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-spinner.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-split-pane-ios.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-split-pane-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm/legacy/ion-text.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEsD;;;;;;;;;;;;;ACjCtD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEiH;;;;;;;;;;;;;AC3CjH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AAC0F;;AAE/I,qCAAqC,qLAAsC;AAC3E,oCAAoC,mLAAqC;AACzE;AACA;AACA,QAAQ,4DAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iKAA6B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oDAAoB;AAC7C,0BAA0B,oDAAoB;AAC9C;AACA;AACA,0BAA0B,oDAAmB;AAC7C,yBAAyB,oDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE+E;;;;;;;;;;;;;ACvL/E;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,MAAM;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqF;;;;;;;;;;;;;AC1CrF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4L;;;;;;;;;;;;;AC5F5L;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,mBAAmB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,mCAAmC;AAC3E;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,8CAA8C;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEkC;;;;;;;;;;;;;AC/GlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2F;AAC9D;AACiC;AAC9D;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAC;AAChB;AACA,2CAA2C,QAAQ,4DAAC,CAAC,oDAAI,4CAA4C;AACrG;AACA,0BAA0B,eAAe,mCAAmC,cAAc,kCAAkC,mCAAmC,WAAW,YAAY,oBAAoB,iBAAiB,gBAAgB,MAAM,oBAAoB,WAAW,YAAY,EAAE,EAAE;AAChS;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,mCAAmC,EAAE,4DAAkB,sBAAsB;AAC7E;AACA;AACA;AACA,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A;AAAA;AAAA;AAA8H;AACjG;AAC7B;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4DAAW;AACzC,6BAA6B,4DAAW;AACxC,wBAAwB,4DAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,oCAAoC,qBAAqB,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,gBAAgB,4DAAC,SAAS,oGAAoG;AAC9H;AACA;AACA,0BAA0B,QAAQ,4DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,wCAAwC,QAAQ,4DAAC,CAAC,oDAAI,4CAA4C;AAClG;AACA,0BAA0B,eAAe,sBAAsB,mBAAmB,UAAU,cAAc,IAAI,WAAW,YAAY,sBAAsB,mBAAmB,2BAA2B,wBAAwB,EAAE,EAAE;AACrO;AACA;AACA,KAAK;AACL;AACA,CAAC;AACyB;;;;;;;;;;;;;AC1F1B;AAAA;AAAA;AAAA;AAAA;AAAiC;AAC0G;AAC9G;AAC7B;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+CAAiB;AAChC;AACA,mBAAmB,iDAAmB;AACtC;AACA,wBAAwB,4DAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4DAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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A+B,uBAAuB,GAAG,gCAAgC,yBAAyB,iCAAiC,GAAG,2BAA2B,mBAAmB,WAAW,IAAI,4BAA4B,oBAAoB,WAAW,GAAG,2BAA2B,mBAAmB,YAAY,yBAAyB,GAAG,2BAA2B,mBAAmB,WAAW,IAAI,4BAA4B,oBAAoB,WAAW,GAAG,2BAA2B,mBAAmB,YAAY,EAAE,EAAE;AACnuF;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA,YAAY,4DAAC,SAAS,0CAA0C,EAAE,4DAAC,YAAY,2CAA2C;AAC1H;AACA;AACA;AACA;AACA,YAAY,4DAAC,SAAS,0CAA0C,EAAE,4DAAC,UAAU,0DAA0D;AACvI;AACkC;;;;;;;;;;;;;ACzJlC;AAAA;AAAA;AAAA;AAA8H;AACjG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4DAAW;AAC9C;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+CAA+C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,QAAQ,4DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8CAA8C,QAAQ,4DAAC,CAAC,oDAAI,mBAAmB;AAC/E;AACA,0BAA0B,wBAAwB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,uBAAuB,mBAAmB,qBAAqB,iBAAiB,eAAe,0EAA0E,OAAO,QAAQ,MAAM,SAAS,kBAAkB,WAAW,OAAO,kCAAkC,0BAA0B,UAAU,6GAA6G,oBAAoB,aAAa,oBAAoB,cAAc,+BAA+B,aAAa,qCAAqC,kBAAkB,SAAS,+CAA+C,iBAAiB,QAAQ,gBAAgB,6GAA6G,oDAAoD,gBAAgB,cAAc,2BAA2B,cAAc,8DAA8D,gBAAgB,cAAc,eAAe,0BAA0B,EAAE,EAAE;AACzpC;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;;;;;;;;;;;;;AC5JvC;AAAA;AAAA;AAAA;AAA8H;AACjG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4DAAW;AAC9C;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+CAA+C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,QAAQ,4DAAU,OAAO,EAAE;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8CAA8C,QAAQ,4DAAC,CAAC,oDAAI,mBAAmB;AAC/E;AACA,0BAA0B,wBAAwB,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,kBAAkB,uBAAuB,mBAAmB,qBAAqB,iBAAiB,eAAe,0EAA0E,OAAO,QAAQ,MAAM,SAAS,kBAAkB,WAAW,OAAO,kCAAkC,0BAA0B,UAAU,6GAA6G,oBAAoB,aAAa,oBAAoB,cAAc,+BAA+B,aAAa,qCAAqC,kBAAkB,SAAS,+CAA+C,iBAAiB,QAAQ,eAAe,mHAAmH,mDAAmD,gBAAgB,cAAc,2BAA2B,cAAc,6DAA6D,gBAAgB,cAAc,eAAe,0BAA0B,EAAE,EAAE;AAC5pC;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuC;;;;;;;;;;;;;AC5JvC;AAAA;AAAA;AAAA;AAAA;AAA2F;AAC9D;AACiC;AAC9D;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA,QAAQ,4DAAgB;AACxB;AACA;AACA;AACA,mBAAmB,4DAAU;AAC7B;AACA,mCAAmC,EAAE,4DAAkB,sBAAsB;AAC7E;AACA;AACA;AACA,eAAe,4DAAC;AAChB;AACA,yCAAyC,QAAQ,4DAAC,CAAC,oDAAI,4CAA4C;AACnG;AACA,0BAA0B,2BAA2B,4BAA4B,EAAE,EAAE;AACrF;AACA;AACA,KAAK;AACL;AACA,CAAC;AAC2B","file":"common-es2015.js","sourcesContent":["const attachComponent = async (delegate, container, component, cssClasses, componentProps) => {\r\n if (delegate) {\r\n return delegate.attachViewToDom(container, component, componentProps, cssClasses);\r\n }\r\n if (typeof component !== 'string' && !(component instanceof HTMLElement)) {\r\n throw new Error('framework delegate is missing');\r\n }\r\n const el = (typeof component === 'string')\r\n ? container.ownerDocument && container.ownerDocument.createElement(component)\r\n : component;\r\n if (cssClasses) {\r\n cssClasses.forEach(c => el.classList.add(c));\r\n }\r\n if (componentProps) {\r\n Object.assign(el, componentProps);\r\n }\r\n container.appendChild(el);\r\n if (el.componentOnReady) {\r\n await el.componentOnReady();\r\n }\r\n return el;\r\n};\r\nconst detachComponent = (delegate, element) => {\r\n if (element) {\r\n if (delegate) {\r\n const container = element.parentElement;\r\n return delegate.removeViewFromDom(container, element);\r\n }\r\n element.remove();\r\n }\r\n return Promise.resolve();\r\n};\n\nexport { attachComponent as a, detachComponent as d };\n","/**\r\n * Check to see if the Haptic Plugin is available\r\n * @return Returns `true` or false if the plugin is available\r\n */\r\n/**\r\n * Trigger a selection changed haptic event. Good for one-time events\r\n * (not for gestures)\r\n */\r\nconst hapticSelection = () => {\r\n const engine = window.TapticEngine;\r\n if (engine) {\r\n engine.selection();\r\n }\r\n};\r\n/**\r\n * Tell the haptic engine that a gesture for a selection change is starting.\r\n */\r\nconst hapticSelectionStart = () => {\r\n const engine = window.TapticEngine;\r\n if (engine) {\r\n engine.gestureSelectionStart();\r\n }\r\n};\r\n/**\r\n * Tell the haptic engine that a selection changed during a gesture.\r\n */\r\nconst hapticSelectionChanged = () => {\r\n const engine = window.TapticEngine;\r\n if (engine) {\r\n engine.gestureSelectionChanged();\r\n }\r\n};\r\n/**\r\n * Tell the haptic engine we are done with a gesture. This needs to be\r\n * called lest resources are not properly recycled.\r\n */\r\nconst hapticSelectionEnd = () => {\r\n const engine = window.TapticEngine;\r\n if (engine) {\r\n engine.gestureSelectionEnd();\r\n }\r\n};\n\nexport { hapticSelectionStart as a, hapticSelectionChanged as b, hapticSelectionEnd as c, hapticSelection as h };\n","import { w as writeTask } from './chunk-09ec7fc0.js';\nimport { b as LIFECYCLE_WILL_LEAVE, L as LIFECYCLE_WILL_ENTER, a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE } from './chunk-94c4865f.js';\n\nconst iosTransitionAnimation = () => import('./ios.transition-3939fd76.js');\r\nconst mdTransitionAnimation = () => import('./md.transition-9dfa7bb7.js');\r\nconst transition = (opts) => {\r\n return new Promise((resolve, reject) => {\r\n writeTask(() => {\r\n beforeTransition(opts);\r\n runTransition(opts).then(result => {\r\n if (result.animation) {\r\n result.animation.destroy();\r\n }\r\n afterTransition(opts);\r\n resolve(result);\r\n }, error => {\r\n afterTransition(opts);\r\n reject(error);\r\n });\r\n });\r\n });\r\n};\r\nconst beforeTransition = (opts) => {\r\n const enteringEl = opts.enteringEl;\r\n const leavingEl = opts.leavingEl;\r\n setZIndex(enteringEl, leavingEl, opts.direction);\r\n if (opts.showGoBack) {\r\n enteringEl.classList.add('can-go-back');\r\n }\r\n else {\r\n enteringEl.classList.remove('can-go-back');\r\n }\r\n setPageHidden(enteringEl, false);\r\n if (leavingEl) {\r\n setPageHidden(leavingEl, false);\r\n }\r\n};\r\nconst runTransition = async (opts) => {\r\n const animationBuilder = await getAnimationBuilder(opts);\r\n const ani = (animationBuilder)\r\n ? animation(animationBuilder, opts)\r\n : noAnimation(opts); // fast path for no animation\r\n return ani;\r\n};\r\nconst afterTransition = (opts) => {\r\n const enteringEl = opts.enteringEl;\r\n const leavingEl = opts.leavingEl;\r\n enteringEl.classList.remove('ion-page-invisible');\r\n if (leavingEl !== undefined) {\r\n leavingEl.classList.remove('ion-page-invisible');\r\n }\r\n};\r\nconst getAnimationBuilder = async (opts) => {\r\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\r\n return undefined;\r\n }\r\n if (opts.animationBuilder) {\r\n return opts.animationBuilder;\r\n }\r\n const builder = (opts.mode === 'ios')\r\n ? (await iosTransitionAnimation()).iosTransitionAnimation\r\n : (await mdTransitionAnimation()).mdTransitionAnimation;\r\n return builder;\r\n};\r\nconst animation = async (animationBuilder, opts) => {\r\n await waitForReady(opts, true);\r\n const trans = await import('./index-d9adb105.js').then(mod => mod.create(animationBuilder, opts.baseEl, opts));\r\n fireWillEvents(opts.enteringEl, opts.leavingEl);\r\n await playTransition(trans, opts);\r\n if (opts.progressCallback) {\r\n opts.progressCallback(undefined);\r\n }\r\n if (trans.hasCompleted) {\r\n fireDidEvents(opts.enteringEl, opts.leavingEl);\r\n }\r\n return {\r\n hasCompleted: trans.hasCompleted,\r\n animation: trans\r\n };\r\n};\r\nconst noAnimation = async (opts) => {\r\n const enteringEl = opts.enteringEl;\r\n const leavingEl = opts.leavingEl;\r\n await waitForReady(opts, false);\r\n fireWillEvents(enteringEl, leavingEl);\r\n fireDidEvents(enteringEl, leavingEl);\r\n return {\r\n hasCompleted: true\r\n };\r\n};\r\nconst waitForReady = async (opts, defaultDeep) => {\r\n const deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\r\n const promises = deep ? [\r\n deepReady(opts.enteringEl),\r\n deepReady(opts.leavingEl),\r\n ] : [\r\n shallowReady(opts.enteringEl),\r\n shallowReady(opts.leavingEl),\r\n ];\r\n await Promise.all(promises);\r\n await notifyViewReady(opts.viewIsReady, opts.enteringEl);\r\n};\r\nconst notifyViewReady = async (viewIsReady, enteringEl) => {\r\n if (viewIsReady) {\r\n await viewIsReady(enteringEl);\r\n }\r\n};\r\nconst playTransition = (trans, opts) => {\r\n const progressCallback = opts.progressCallback;\r\n const promise = new Promise(resolve => trans.onFinish(resolve));\r\n // cool, let's do this, start the transition\r\n if (progressCallback) {\r\n // this is a swipe to go back, just get the transition progress ready\r\n // kick off the swipe animation start\r\n trans.progressStart();\r\n progressCallback(trans);\r\n }\r\n else {\r\n // only the top level transition should actually start \"play\"\r\n // kick it off and let it play through\r\n // ******** DOM WRITE ****************\r\n trans.play();\r\n }\r\n // create a callback for when the animation is done\r\n return promise;\r\n};\r\nconst fireWillEvents = (enteringEl, leavingEl) => {\r\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\r\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\r\n};\r\nconst fireDidEvents = (enteringEl, leavingEl) => {\r\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\r\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\r\n};\r\nconst lifecycle = (el, eventName) => {\r\n if (el) {\r\n const ev = new CustomEvent(eventName, {\r\n bubbles: false,\r\n cancelable: false,\r\n });\r\n el.dispatchEvent(ev);\r\n }\r\n};\r\nconst shallowReady = (el) => {\r\n if (el && el.componentOnReady) {\r\n return el.componentOnReady();\r\n }\r\n return Promise.resolve();\r\n};\r\nconst deepReady = async (el) => {\r\n const element = el;\r\n if (element) {\r\n if (element.componentOnReady != null) {\r\n const stencilEl = await element.componentOnReady();\r\n if (stencilEl != null) {\r\n return;\r\n }\r\n }\r\n await Promise.all(Array.from(element.children).map(deepReady));\r\n }\r\n};\r\nconst setPageHidden = (el, hidden) => {\r\n if (hidden) {\r\n el.setAttribute('aria-hidden', 'true');\r\n el.classList.add('ion-page-hidden');\r\n }\r\n else {\r\n el.hidden = false;\r\n el.removeAttribute('aria-hidden');\r\n el.classList.remove('ion-page-hidden');\r\n }\r\n};\r\nconst setZIndex = (enteringEl, leavingEl, direction) => {\r\n if (enteringEl !== undefined) {\r\n enteringEl.style.zIndex = (direction === 'back')\r\n ? '99'\r\n : '101';\r\n }\r\n if (leavingEl !== undefined) {\r\n leavingEl.style.zIndex = '100';\r\n }\r\n};\n\nexport { deepReady as d, lifecycle as l, setPageHidden as s, transition as t };\n","const hostContext = (selector, el) => {\r\n return el.closest(selector) !== null;\r\n};\r\n/**\r\n * Create the mode and color classes for the component based on the classes passed in\r\n */\r\nconst createColorClasses = (color) => {\r\n return (typeof color === 'string' && color.length > 0) ? {\r\n 'ion-color': true,\r\n [`ion-color-${color}`]: true\r\n } : undefined;\r\n};\r\nconst getClassList = (classes) => {\r\n if (classes !== undefined) {\r\n const array = Array.isArray(classes) ? classes : classes.split(' ');\r\n return array\r\n .filter(c => c != null)\r\n .map(c => c.trim())\r\n .filter(c => c !== '');\r\n }\r\n return [];\r\n};\r\nconst getClassMap = (classes) => {\r\n const map = {};\r\n getClassList(classes).forEach(c => map[c] = true);\r\n return map;\r\n};\r\nconst SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\r\nconst openURL = async (url, ev, direction) => {\r\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\r\n const router = document.querySelector('ion-router');\r\n if (router) {\r\n if (ev != null) {\r\n ev.preventDefault();\r\n }\r\n await router.componentOnReady();\r\n return router.push(url, direction);\r\n }\r\n }\r\n return false;\r\n};\n\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","const rIC = (callback) => {\r\n if ('requestIdleCallback' in window) {\r\n window.requestIdleCallback(callback);\r\n }\r\n else {\r\n setTimeout(callback, 32);\r\n }\r\n};\r\nconst hasShadowDom = (el) => {\r\n return !!el.shadowRoot && !!el.attachShadow;\r\n};\r\nconst findItemLabel = (componentEl) => {\r\n const itemEl = componentEl.closest('ion-item');\r\n if (itemEl) {\r\n return itemEl.querySelector('ion-label');\r\n }\r\n return null;\r\n};\r\nconst renderHiddenInput = (always, container, name, value, disabled) => {\r\n if (always || hasShadowDom(container)) {\r\n let input = container.querySelector('input.aux-input');\r\n if (!input) {\r\n input = container.ownerDocument.createElement('input');\r\n input.type = 'hidden';\r\n input.classList.add('aux-input');\r\n container.appendChild(input);\r\n }\r\n input.disabled = disabled;\r\n input.name = name;\r\n input.value = value || '';\r\n }\r\n};\r\nconst clamp = (min, n, max) => {\r\n return Math.max(min, Math.min(n, max));\r\n};\r\nconst assert = (actual, reason) => {\r\n if (!actual) {\r\n const message = 'ASSERT: ' + reason;\r\n console.error(message);\r\n debugger; // tslint:disable-line\r\n throw new Error(message);\r\n }\r\n};\r\nconst now = (ev) => {\r\n return ev.timeStamp || Date.now();\r\n};\r\nconst pointerCoord = (ev) => {\r\n // get X coordinates for either a mouse click\r\n // or a touch depending on the given event\r\n if (ev) {\r\n const changedTouches = ev.changedTouches;\r\n if (changedTouches && changedTouches.length > 0) {\r\n const touch = changedTouches[0];\r\n return { x: touch.clientX, y: touch.clientY };\r\n }\r\n if (ev.pageX !== undefined) {\r\n return { x: ev.pageX, y: ev.pageY };\r\n }\r\n }\r\n return { x: 0, y: 0 };\r\n};\r\n/**\r\n * @hidden\r\n * Given a side, return if it should be on the end\r\n * based on the value of dir\r\n * @param side the side\r\n * @param isRTL whether the application dir is rtl\r\n */\r\nconst isEndSide = (side) => {\r\n const isRTL = document.dir === 'rtl';\r\n switch (side) {\r\n case 'start': return isRTL;\r\n case 'end': return !isRTL;\r\n default:\r\n throw new Error(`\"${side}\" is not a valid value for [side]. Use \"start\" or \"end\" instead.`);\r\n }\r\n};\r\nconst debounceEvent = (event, wait) => {\r\n const original = event._original || event;\r\n return {\r\n _original: event,\r\n emit: debounce(original.emit.bind(original), wait)\r\n };\r\n};\r\nconst debounce = (func, wait = 0) => {\r\n let timer;\r\n return (...args) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(func, wait, ...args);\r\n };\r\n};\n\nexport { rIC as a, assert as b, clamp as c, debounceEvent as d, debounce as e, findItemLabel as f, hasShadowDom as h, isEndSide as i, now as n, pointerCoord as p, renderHiddenInput as r };\n","/**\r\n * Does a simple sanitization of all elements\r\n * in an untrusted string\r\n */\r\nconst sanitizeDOMString = (untrustedString) => {\r\n try {\r\n if (typeof untrustedString !== 'string' || untrustedString === '') {\r\n return untrustedString;\r\n }\r\n /**\r\n * Create a document fragment\r\n * separate from the main DOM,\r\n * create a div to do our work in\r\n */\r\n const documentFragment = document.createDocumentFragment();\r\n const workingDiv = document.createElement('div');\r\n documentFragment.appendChild(workingDiv);\r\n workingDiv.innerHTML = untrustedString;\r\n /**\r\n * Remove any elements\r\n * that are blocked\r\n */\r\n blockedTags.forEach(blockedTag => {\r\n const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);\r\n for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {\r\n const element = getElementsToRemove[elementIndex];\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n else {\r\n documentFragment.removeChild(element);\r\n }\r\n /**\r\n * We still need to sanitize\r\n * the children of this element\r\n * as they are left behind\r\n */\r\n const childElements = getElementChildren(element);\r\n /* tslint:disable-next-line */\r\n for (let childIndex = 0; childIndex < childElements.length; childIndex++) {\r\n sanitizeElement(childElements[childIndex]);\r\n }\r\n }\r\n });\r\n /**\r\n * Go through remaining elements and remove\r\n * non-allowed attribs\r\n */\r\n // IE does not support .children on document fragments, only .childNodes\r\n const documentFragmentChildren = getElementChildren(documentFragment);\r\n /* tslint:disable-next-line */\r\n for (let childIndex = 0; childIndex < documentFragmentChildren.length; childIndex++) {\r\n sanitizeElement(documentFragmentChildren[childIndex]);\r\n }\r\n // Append document fragment to div\r\n const fragmentDiv = document.createElement('div');\r\n fragmentDiv.appendChild(documentFragment);\r\n // First child is always the div we did our work in\r\n const getInnerDiv = fragmentDiv.querySelector('div');\r\n return (getInnerDiv !== null) ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;\r\n }\r\n catch (err) {\r\n console.error(err);\r\n return '';\r\n }\r\n};\r\n/**\r\n * Clean up current element based on allowed attributes\r\n * and then recursively dig down into any child elements to\r\n * clean those up as well\r\n */\r\nconst sanitizeElement = (element) => {\r\n // IE uses childNodes, so ignore nodes that are not elements\r\n if (element.nodeType && element.nodeType !== 1) {\r\n return;\r\n }\r\n for (let i = element.attributes.length - 1; i >= 0; i--) {\r\n const attribute = element.attributes[i];\r\n const attributeName = attribute.name;\r\n // remove non-allowed attribs\r\n if (!allowedAttributes.includes(attributeName.toLowerCase())) {\r\n element.removeAttribute(attributeName);\r\n continue;\r\n }\r\n // clean up any allowed attribs\r\n // that attempt to do any JS funny-business\r\n const attributeValue = attribute.value;\r\n /* tslint:disable-next-line */\r\n if (attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) {\r\n element.removeAttribute(attributeName);\r\n }\r\n }\r\n /**\r\n * Sanitize any nested children\r\n */\r\n const childElements = getElementChildren(element);\r\n /* tslint:disable-next-line */\r\n for (let i = 0; i < childElements.length; i++) {\r\n sanitizeElement(childElements[i]);\r\n }\r\n};\r\n/**\r\n * IE doesn't always support .children\r\n * so we revert to .childNodes instead\r\n */\r\nconst getElementChildren = (element) => {\r\n return (element.children != null) ? element.children : element.childNodes;\r\n};\r\nconst allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];\r\nconst blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];\n\nexport { sanitizeDOMString as s };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\nvar Avatar = /** @class */ (function () {\n function Avatar(hostRef) {\n registerInstance(this, hostRef);\n }\n Avatar.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n _a)\n };\n };\n Avatar.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Avatar.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Avatar, \"style\", {\n get: function () { return \":host{border-radius:var(--border-radius);display:block}::slotted(img),::slotted(ion-img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}\"; },\n enumerable: true,\n configurable: true\n });\n return Avatar;\n}());\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nvar Badge = /** @class */ (function () {\n function Badge(hostRef) {\n registerInstance(this, hostRef);\n }\n Badge.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a))\n };\n };\n Badge.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Badge.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Badge, \"style\", {\n get: function () { return \":host{--background:var(--ion-color-primary,#3880ff);--color:var(--ion-color-primary-contrast,#fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family,inherit);font-size:13px;font-weight:700;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{border-radius:10px}\"; },\n enumerable: true,\n configurable: true\n });\n return Badge;\n}());\nvar Thumbnail = /** @class */ (function () {\n function Thumbnail(hostRef) {\n registerInstance(this, hostRef);\n }\n Thumbnail.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n _a)\n };\n };\n Thumbnail.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Thumbnail.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Thumbnail, \"style\", {\n get: function () { return \":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(img),::slotted(ion-img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}\"; },\n enumerable: true,\n configurable: true\n });\n return Thumbnail;\n}());\nexport { Avatar as ion_avatar, Badge as ion_badge, Thumbnail as ion_thumbnail };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\nvar Avatar = /** @class */ (function () {\n function Avatar(hostRef) {\n registerInstance(this, hostRef);\n }\n Avatar.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n _a)\n };\n };\n Avatar.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Avatar.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Avatar, \"style\", {\n get: function () { return \":host{border-radius:var(--border-radius);display:block}::slotted(img),::slotted(ion-img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}\"; },\n enumerable: true,\n configurable: true\n });\n return Avatar;\n}());\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nvar Badge = /** @class */ (function () {\n function Badge(hostRef) {\n registerInstance(this, hostRef);\n }\n Badge.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a))\n };\n };\n Badge.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Badge.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Badge, \"style\", {\n get: function () { return \":host{--background:var(--ion-color-primary,#3880ff);--color:var(--ion-color-primary-contrast,#fff);--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family,inherit);font-size:13px;font-weight:700;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}\"; },\n enumerable: true,\n configurable: true\n });\n return Badge;\n}());\nvar Thumbnail = /** @class */ (function () {\n function Thumbnail(hostRef) {\n registerInstance(this, hostRef);\n }\n Thumbnail.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n _a)\n };\n };\n Thumbnail.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Thumbnail.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Thumbnail, \"style\", {\n get: function () { return \":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(img),::slotted(ion-img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}\"; },\n enumerable: true,\n configurable: true\n });\n return Thumbnail;\n}());\nexport { Avatar as ion_avatar, Badge as ion_badge, Thumbnail as ion_thumbnail };\n","import { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { GESTURE_CONTROLLER } from './index-3a9dcfed.js';\nimport { n as now } from './chunk-c90aaa66.js';\nvar Backdrop = /** @class */ (function () {\n function Backdrop(hostRef) {\n registerInstance(this, hostRef);\n this.lastClick = -10000;\n this.blocker = GESTURE_CONTROLLER.createBlocker({\n disableScroll: true\n });\n /**\n * If `true`, the backdrop will be visible.\n */\n this.visible = true;\n /**\n * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.\n */\n this.tappable = true;\n /**\n * If `true`, the backdrop will stop propagation on tap.\n */\n this.stopPropagation = true;\n this.ionBackdropTap = createEvent(this, \"ionBackdropTap\", 7);\n }\n Backdrop.prototype.componentDidLoad = function () {\n if (this.stopPropagation) {\n this.blocker.block();\n }\n };\n Backdrop.prototype.componentDidUnload = function () {\n this.blocker.destroy();\n };\n Backdrop.prototype.onTouchStart = function (ev) {\n this.lastClick = now(ev);\n this.emitTap(ev);\n };\n Backdrop.prototype.onMouseDown = function (ev) {\n if (this.lastClick < now(ev) - 2500) {\n this.emitTap(ev);\n }\n };\n Backdrop.prototype.emitTap = function (ev) {\n if (this.stopPropagation) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (this.tappable) {\n this.ionBackdropTap.emit();\n }\n };\n Backdrop.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n tabindex: '-1',\n class: (_a = {},\n _a[mode] = true,\n _a['backdrop-hide'] = !this.visible,\n _a['backdrop-no-tappable'] = !this.tappable,\n _a)\n };\n };\n Backdrop.prototype.render = function () { return h(Host, this.hostData()); };\n Object.defineProperty(Backdrop, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color,#000)}\"; },\n enumerable: true,\n configurable: true\n });\n return Backdrop;\n}());\nexport { Backdrop as ion_backdrop };\n","import { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { GESTURE_CONTROLLER } from './index-3a9dcfed.js';\nimport { n as now } from './chunk-c90aaa66.js';\nvar Backdrop = /** @class */ (function () {\n function Backdrop(hostRef) {\n registerInstance(this, hostRef);\n this.lastClick = -10000;\n this.blocker = GESTURE_CONTROLLER.createBlocker({\n disableScroll: true\n });\n /**\n * If `true`, the backdrop will be visible.\n */\n this.visible = true;\n /**\n * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.\n */\n this.tappable = true;\n /**\n * If `true`, the backdrop will stop propagation on tap.\n */\n this.stopPropagation = true;\n this.ionBackdropTap = createEvent(this, \"ionBackdropTap\", 7);\n }\n Backdrop.prototype.componentDidLoad = function () {\n if (this.stopPropagation) {\n this.blocker.block();\n }\n };\n Backdrop.prototype.componentDidUnload = function () {\n this.blocker.destroy();\n };\n Backdrop.prototype.onTouchStart = function (ev) {\n this.lastClick = now(ev);\n this.emitTap(ev);\n };\n Backdrop.prototype.onMouseDown = function (ev) {\n if (this.lastClick < now(ev) - 2500) {\n this.emitTap(ev);\n }\n };\n Backdrop.prototype.emitTap = function (ev) {\n if (this.stopPropagation) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (this.tappable) {\n this.ionBackdropTap.emit();\n }\n };\n Backdrop.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n tabindex: '-1',\n class: (_a = {},\n _a[mode] = true,\n _a['backdrop-hide'] = !this.visible,\n _a['backdrop-no-tappable'] = !this.tappable,\n _a)\n };\n };\n Backdrop.prototype.render = function () { return h(Host, this.hostData()); };\n Object.defineProperty(Backdrop, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color,#000)}\"; },\n enumerable: true,\n configurable: true\n });\n return Backdrop;\n}());\nexport { Backdrop as ion_backdrop };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nvar Chip = /** @class */ (function () {\n function Chip(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Display an outline style button.\n */\n this.outline = false;\n }\n Chip.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a['chip-outline'] = this.outline, _a['ion-activatable'] = true, _a))\n };\n };\n Chip.prototype.__stencil_render = function () {\n var mode = getIonMode(this);\n return [\n h(\"slot\", null),\n mode === 'md' ? h(\"ion-ripple-effect\", null) : null\n ];\n };\n Chip.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Chip, \"style\", {\n get: function () { return \":host{--background:rgba(0,0,0,0.12);--color:rgba(0,0,0,0.87);border-radius:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:4px;margin-right:4px;margin-top:4px;margin-bottom:4px;padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;height:32px;background:var(--background);color:var(--color);font-family:var(--ion-font-family,inherit);font-size:14px;line-height:1;cursor:pointer;overflow:hidden;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:4px;margin-inline-end:4px;padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host(.ion-color){background:rgba(var(--ion-color-base-rgb),.08);color:var(--ion-color-shade)}:host(.ion-color:focus){background:rgba(var(--ion-color-base-rgb),.12)}:host(.ion-color.activated){background:rgba(var(--ion-color-base-rgb),.16)}:host(.chip-outline){border-width:1px;border-style:solid;border-color:rgba(0,0,0,.32);background:transparent}:host(.chip-outline.ion-color){border-color:rgba(var(--ion-color-base-rgb),.32)}:host(.chip-outline:not(.ion-color):focus){background:rgba(0,0,0,.04)}:host(.chip-outline.activated:not(.ion-color)){background:rgba(0,0,0,.08)}::slotted(ion-icon){font-size:20px}:host(:not(.ion-color)) ::slotted(ion-icon){color:rgba(0,0,0,.54)}::slotted(ion-icon:first-child){margin-left:-4px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-icon:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-4px;margin-inline-start:-4px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-icon:last-child){margin-left:8px;margin-right:-4px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-icon:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-4px;margin-inline-end:-4px}}::slotted(ion-avatar){width:24px;height:24px}::slotted(ion-avatar:first-child){margin-left:-8px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-avatar:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-8px;margin-inline-start:-8px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-avatar:last-child){margin-left:8px;margin-right:-8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-avatar:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-8px;margin-inline-end:-8px}}:host(:focus){outline:none;--background:rgba(0,0,0,0.16)}:host(.activated){--background:rgba(0,0,0,0.2)}\\@media (any-hover:hover){:host(:hover){--background:rgba(0,0,0,0.16)}:host(.ion-color:hover){background:rgba(var(--ion-color-base-rgb),.12)}:host(.chip-outline:not(.ion-color):hover){background:rgba(0,0,0,.04)}}\"; },\n enumerable: true,\n configurable: true\n });\n return Chip;\n}());\nexport { Chip as ion_chip };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nvar Chip = /** @class */ (function () {\n function Chip(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Display an outline style button.\n */\n this.outline = false;\n }\n Chip.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a['chip-outline'] = this.outline, _a['ion-activatable'] = true, _a))\n };\n };\n Chip.prototype.__stencil_render = function () {\n var mode = getIonMode(this);\n return [\n h(\"slot\", null),\n mode === 'md' ? h(\"ion-ripple-effect\", null) : null\n ];\n };\n Chip.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Chip, \"style\", {\n get: function () { return \":host{--background:rgba(0,0,0,0.12);--color:rgba(0,0,0,0.87);border-radius:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:4px;margin-right:4px;margin-top:4px;margin-bottom:4px;padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;height:32px;background:var(--background);color:var(--color);font-family:var(--ion-font-family,inherit);font-size:14px;line-height:1;cursor:pointer;overflow:hidden;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:4px;margin-inline-end:4px;padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host(.ion-color){background:rgba(var(--ion-color-base-rgb),.08);color:var(--ion-color-shade)}:host(.ion-color:focus){background:rgba(var(--ion-color-base-rgb),.12)}:host(.ion-color.activated){background:rgba(var(--ion-color-base-rgb),.16)}:host(.chip-outline){border-width:1px;border-style:solid;border-color:rgba(0,0,0,.32);background:transparent}:host(.chip-outline.ion-color){border-color:rgba(var(--ion-color-base-rgb),.32)}:host(.chip-outline:not(.ion-color):focus){background:rgba(0,0,0,.04)}:host(.chip-outline.activated:not(.ion-color)){background:rgba(0,0,0,.08)}::slotted(ion-icon){font-size:20px}:host(:not(.ion-color)) ::slotted(ion-icon){color:rgba(0,0,0,.54)}::slotted(ion-icon:first-child){margin-left:-4px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-icon:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-4px;margin-inline-start:-4px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-icon:last-child){margin-left:8px;margin-right:-4px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-icon:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-4px;margin-inline-end:-4px}}::slotted(ion-avatar){width:24px;height:24px}::slotted(ion-avatar:first-child){margin-left:-8px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-avatar:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-8px;margin-inline-start:-8px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-avatar:last-child){margin-left:8px;margin-right:-8px;margin-top:-4px;margin-bottom:-4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(ion-avatar:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-8px;margin-inline-end:-8px}}:host(:focus){outline:none;--background:rgba(0,0,0,0.16)}:host(.activated){--background:rgba(0,0,0,0.2)}\\@media (any-hover:hover){:host(:hover){--background:rgba(0,0,0,0.16)}:host(.ion-color:hover){background:rgba(var(--ion-color-base-rgb),.12)}:host(.chip-outline:not(.ion-color):hover){background:rgba(0,0,0,.04)}}\"; },\n enumerable: true,\n configurable: true\n });\n return Chip;\n}());\nexport { Chip as ion_chip };\n","import { r as registerInstance, d as createEvent, c as getIonMode, h, e as getElement, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nvar Img = /** @class */ (function () {\n function Img(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.onLoad = function () {\n _this.ionImgDidLoad.emit();\n };\n this.onError = function () {\n _this.ionError.emit();\n };\n this.ionImgWillLoad = createEvent(this, \"ionImgWillLoad\", 7);\n this.ionImgDidLoad = createEvent(this, \"ionImgDidLoad\", 7);\n this.ionError = createEvent(this, \"ionError\", 7);\n }\n Img.prototype.srcChanged = function () {\n this.addIO();\n };\n Img.prototype.componentDidLoad = function () {\n this.addIO();\n };\n Img.prototype.addIO = function () {\n var _this = this;\n if (this.src === undefined) {\n return;\n }\n if ('IntersectionObserver' in window) {\n this.removeIO();\n this.io = new IntersectionObserver(function (data) {\n // because there will only ever be one instance\n // of the element we are observing\n // we can just use data[0]\n if (data[0].isIntersecting) {\n _this.load();\n _this.removeIO();\n }\n });\n this.io.observe(this.el);\n }\n else {\n // fall back to setTimeout for Safari and IE\n setTimeout(function () { return _this.load(); }, 200);\n }\n };\n Img.prototype.load = function () {\n this.loadError = this.onError;\n this.loadSrc = this.src;\n this.ionImgWillLoad.emit();\n };\n Img.prototype.removeIO = function () {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n };\n Img.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n _a)\n };\n };\n Img.prototype.__stencil_render = function () {\n return (h(\"img\", { src: this.loadSrc, alt: this.alt, decoding: \"async\", onLoad: this.onLoad, onError: this.loadError }));\n };\n Object.defineProperty(Img.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Img, \"watchers\", {\n get: function () {\n return {\n \"src\": [\"srcChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Img.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Img, \"style\", {\n get: function () { return \":host{-o-object-fit:contain;object-fit:contain}:host,img{display:block}img{width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}\"; },\n enumerable: true,\n configurable: true\n });\n return Img;\n}());\nexport { Img as ion_img };\n","import * as tslib_1 from \"tslib\";\nimport { r as registerInstance, f as readTask, w as writeTask, c as getIonMode, e as getElement, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nvar RippleEffect = /** @class */ (function () {\n function RippleEffect(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Sets the type of ripple-effect:\n *\n * - `bounded`: the ripple effect expands from the user's click position\n * - `unbounded`: the ripple effect expands from the center of the button and overflows the container.\n *\n * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden,\n * while surfaces for unbounded ripples should have it set to visible.\n */\n this.type = 'bounded';\n }\n /**\n * Adds the ripple effect to the parent element.\n *\n * @param x The horizontal coordinate of where the ripple should start.\n * @param y The vertical coordinate of where the ripple should start.\n */\n RippleEffect.prototype.addRipple = function (x, y) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n readTask(function () {\n var rect = _this.el.getBoundingClientRect();\n var width = rect.width;\n var height = rect.height;\n var hypotenuse = Math.sqrt(width * width + height * height);\n var maxDim = Math.max(height, width);\n var maxRadius = _this.unbounded ? maxDim : hypotenuse + PADDING;\n var initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n var finalScale = maxRadius / initialSize;\n var posX = x - rect.left;\n var posY = y - rect.top;\n if (_this.unbounded) {\n posX = width * 0.5;\n posY = height * 0.5;\n }\n var styleX = posX - initialSize * 0.5;\n var styleY = posY - initialSize * 0.5;\n var moveX = width * 0.5 - posX;\n var moveY = height * 0.5 - posY;\n writeTask(function () {\n var div = document.createElement('div');\n div.classList.add('ripple-effect');\n var style = div.style;\n style.top = styleY + 'px';\n style.left = styleX + 'px';\n style.width = style.height = initialSize + 'px';\n style.setProperty('--final-scale', \"\" + finalScale);\n style.setProperty('--translate-end', moveX + \"px, \" + moveY + \"px\");\n var container = _this.el.shadowRoot || _this.el;\n container.appendChild(div);\n setTimeout(function () {\n resolve(function () {\n removeRipple(div);\n });\n }, 225 + 100);\n });\n });\n })];\n });\n });\n };\n Object.defineProperty(RippleEffect.prototype, \"unbounded\", {\n get: function () {\n return this.type === 'unbounded';\n },\n enumerable: true,\n configurable: true\n });\n RippleEffect.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n role: 'presentation',\n class: (_a = {},\n _a[mode] = true,\n _a['unbounded'] = this.unbounded,\n _a)\n };\n };\n Object.defineProperty(RippleEffect.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n RippleEffect.prototype.render = function () { return h(Host, this.hostData()); };\n Object.defineProperty(RippleEffect, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:rippleAnimation 225ms forwards,fadeInAnimation 75ms forwards;animation:rippleAnimation 225ms forwards,fadeInAnimation 75ms forwards;will-change:transform,opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale,1));transform:translate(var(--translate-end)) scale(var(--final-scale,1));-webkit-animation:fadeOutAnimation .15s forwards;animation:fadeOutAnimation .15s forwards}\\@-webkit-keyframes rippleAnimation{0%{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale,1));transform:translate(var(--translate-end)) scale(var(--final-scale,1))}}\\@keyframes rippleAnimation{0%{-webkit-animation-timing-function:cubic-bezier(.4,0,.2,1);animation-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale,1));transform:translate(var(--translate-end)) scale(var(--final-scale,1))}}\\@-webkit-keyframes fadeInAnimation{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:.16}}\\@keyframes fadeInAnimation{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:.16}}\\@-webkit-keyframes fadeOutAnimation{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:.16}to{opacity:0}}\\@keyframes fadeOutAnimation{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:.16}to{opacity:0}}\"; },\n enumerable: true,\n configurable: true\n });\n return RippleEffect;\n}());\nvar removeRipple = function (ripple) {\n ripple.classList.add('fade-out');\n setTimeout(function () {\n ripple.remove();\n }, 200);\n};\nvar PADDING = 10;\nvar INITIAL_ORIGIN_SCALE = 0.5;\nexport { RippleEffect as ion_ripple_effect };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport { b as config } from './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\nvar spinners = {\n 'lines': {\n dur: 1000,\n lines: 12,\n fn: function (dur, index, total) {\n var transform = \"rotate(\" + (30 * index + (index < 6 ? 180 : -180)) + \"deg)\";\n var animationDelay = (dur * index / total) - dur + \"ms\";\n return {\n y1: 17,\n y2: 29,\n style: {\n 'transform': transform,\n 'animation-delay': animationDelay,\n }\n };\n }\n },\n 'lines-small': {\n dur: 1000,\n lines: 12,\n fn: function (dur, index, total) {\n var transform = \"rotate(\" + (30 * index + (index < 6 ? 180 : -180)) + \"deg)\";\n var animationDelay = (dur * index / total) - dur + \"ms\";\n return {\n y1: 12,\n y2: 20,\n style: {\n 'transform': transform,\n 'animation-delay': animationDelay,\n }\n };\n }\n },\n 'bubbles': {\n dur: 1000,\n circles: 9,\n fn: function (dur, index, total) {\n var animationDelay = (dur * index / total) - dur + \"ms\";\n var angle = 2 * Math.PI * index / total;\n return {\n r: 5,\n style: {\n 'top': 9 * Math.sin(angle) + \"px\",\n 'left': 9 * Math.cos(angle) + \"px\",\n 'animation-delay': animationDelay,\n }\n };\n }\n },\n 'circles': {\n dur: 1000,\n circles: 8,\n fn: function (dur, index, total) {\n var step = index / total;\n var animationDelay = (dur * step) - dur + \"ms\";\n var angle = 2 * Math.PI * step;\n return {\n r: 5,\n style: {\n 'top': 9 * Math.sin(angle) + \"px\",\n 'left': 9 * Math.cos(angle) + \"px\",\n 'animation-delay': animationDelay,\n }\n };\n }\n },\n 'crescent': {\n dur: 750,\n circles: 1,\n fn: function () {\n return {\n r: 26,\n style: {}\n };\n }\n },\n 'dots': {\n dur: 750,\n circles: 3,\n fn: function (_, index) {\n var animationDelay = -(110 * index) + 'ms';\n return {\n r: 6,\n style: {\n 'left': 9 - (9 * index) + \"px\",\n 'animation-delay': animationDelay,\n }\n };\n }\n }\n};\nvar SPINNERS = spinners;\nvar Spinner = /** @class */ (function () {\n function Spinner(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the spinner's animation will be paused.\n */\n this.paused = false;\n }\n Spinner.prototype.getName = function () {\n var name = this.name || config.get('spinner');\n var mode = getIonMode(this);\n if (name) {\n return name;\n }\n return (mode === 'ios') ? 'lines' : 'crescent';\n };\n Spinner.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a[\"spinner-\" + this.getName()] = true, _a['spinner-paused'] = !!this.paused || config.getBoolean('_testing'), _a))\n };\n };\n Spinner.prototype.__stencil_render = function () {\n var name = this.getName();\n var spinner = SPINNERS[name] || SPINNERS['lines'];\n var duration = (typeof this.duration === 'number' && this.duration > 10 ? this.duration : spinner.dur);\n var svgs = [];\n if (spinner.circles !== undefined) {\n for (var i = 0; i < spinner.circles; i++) {\n svgs.push(buildCircle(spinner, duration, i, spinner.circles));\n }\n }\n else if (spinner.lines !== undefined) {\n for (var i = 0; i < spinner.lines; i++) {\n svgs.push(buildLine(spinner, duration, i, spinner.lines));\n }\n }\n return svgs;\n };\n Spinner.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Spinner, \"style\", {\n get: function () { return \":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{left:0;top:0;-webkit-transform-origin:center;transform-origin:center;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg,[dir=rtl] svg{left:unset;right:unset;right:0;-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:4px;stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-paused) svg{-webkit-animation-play-state:paused;animation-play-state:paused}\\@-webkit-keyframes spinner-fade-out{0%{opacity:1}to{opacity:0}}\\@keyframes spinner-fade-out{0%{opacity:1}to{opacity:0}}\\@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(0);transform:scale(0)}}\\@keyframes spinner-scale-out{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(0);transform:scale(0)}}\\@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}\\@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}\\@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.9}50%{-webkit-transform:scale(.4);transform:scale(.4);opacity:.3}to{-webkit-transform:scale(1);transform:scale(1);opacity:.9}}\\@keyframes spinner-dots{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.9}50%{-webkit-transform:scale(.4);transform:scale(.4);opacity:.3}to{-webkit-transform:scale(1);transform:scale(1);opacity:.9}}\"; },\n enumerable: true,\n configurable: true\n });\n return Spinner;\n}());\nvar buildCircle = function (spinner, duration, index, total) {\n var data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + \"ms\";\n return (h(\"svg\", { viewBox: \"0 0 64 64\", style: data.style }, h(\"circle\", { transform: \"translate(32,32)\", r: data.r })));\n};\nvar buildLine = function (spinner, duration, index, total) {\n var data = spinner.fn(duration, index, total);\n data.style['animation-duration'] = duration + \"ms\";\n return (h(\"svg\", { viewBox: \"0 0 64 64\", style: data.style }, h(\"line\", { transform: \"translate(32,32)\", y1: data.y1, y2: data.y2 })));\n};\nexport { Spinner as ion_spinner };\n","import { r as registerInstance, d as createEvent, c as getIonMode, e as getElement, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nvar SPLIT_PANE_MAIN = 'split-pane-main';\nvar SPLIT_PANE_SIDE = 'split-pane-side';\nvar QUERY = {\n 'xs': '(min-width: 0px)',\n 'sm': '(min-width: 576px)',\n 'md': '(min-width: 768px)',\n 'lg': '(min-width: 992px)',\n 'xl': '(min-width: 1200px)',\n 'never': ''\n};\nvar SplitPane = /** @class */ (function () {\n function SplitPane(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * If `true`, the split pane will be hidden.\n */\n this.disabled = false;\n /**\n * When the split-pane should be shown.\n * Can be a CSS media query expression, or a shortcut expression.\n * Can also be a boolean expression.\n */\n this.when = QUERY['lg'];\n this.ionSplitPaneVisible = createEvent(this, \"ionSplitPaneVisible\", 7);\n }\n SplitPane.prototype.visibleChanged = function (visible) {\n var detail = { visible: visible, isPane: this.isPane.bind(this) };\n this.ionSplitPaneVisible.emit(detail);\n };\n SplitPane.prototype.componentDidLoad = function () {\n this.styleChildren();\n this.updateState();\n };\n SplitPane.prototype.componentDidUnload = function () {\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n };\n SplitPane.prototype.updateState = function () {\n var _this = this;\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n // Check if the split-pane is disabled\n if (this.disabled) {\n this.visible = false;\n return;\n }\n // When query is a boolean\n var query = this.when;\n if (typeof query === 'boolean') {\n this.visible = query;\n return;\n }\n // When query is a string, let's find first if it is a shortcut\n var mediaQuery = QUERY[query] || query;\n // Media query is empty or null, we hide it\n if (mediaQuery.length === 0) {\n this.visible = false;\n return;\n }\n if (window.matchMedia) {\n // Listen on media query\n var callback_1 = function (q) {\n _this.visible = q.matches;\n };\n var mediaList_1 = window.matchMedia(mediaQuery);\n mediaList_1.addListener(callback_1);\n this.rmL = function () { return mediaList_1.removeListener(callback_1); };\n this.visible = mediaList_1.matches;\n }\n };\n SplitPane.prototype.isPane = function (element) {\n if (!this.visible) {\n return false;\n }\n return element.parentElement === this.el\n && element.classList.contains(SPLIT_PANE_SIDE);\n };\n SplitPane.prototype.styleChildren = function () {\n var contentId = this.contentId;\n var children = this.el.children;\n var nu = this.el.childElementCount;\n var foundMain = false;\n for (var i = 0; i < nu; i++) {\n var child = children[i];\n var isMain = contentId !== undefined ? child.id === contentId : child.hasAttribute('main');\n if (isMain) {\n if (foundMain) {\n console.warn('split pane cannot have more than one main node');\n return;\n }\n foundMain = true;\n }\n setPaneClass(child, isMain);\n }\n if (!foundMain) {\n console.warn('split pane does not have a specified main node');\n }\n };\n SplitPane.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"split-pane-\" + mode] = true,\n _a['split-pane-visible'] = this.visible,\n _a)\n };\n };\n Object.defineProperty(SplitPane.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SplitPane, \"watchers\", {\n get: function () {\n return {\n \"visible\": [\"visibleChanged\"],\n \"disabled\": [\"updateState\"],\n \"when\": [\"updateState\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n SplitPane.prototype.render = function () { return h(Host, this.hostData()); };\n Object.defineProperty(SplitPane, \"style\", {\n get: function () { return \"ion-split-pane{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}.split-pane-visible>.split-pane-main,.split-pane-visible>.split-pane-side{left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none!important;box-shadow:none!important;z-index:0}.split-pane-visible>.split-pane-side:not(ion-menu),.split-pane-visible>ion-menu.split-pane-side.menu-enabled{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.split-pane-side:not(ion-menu){display:none}.split-pane-visible>.split-pane-side{-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=end]{-ms-flex-order:1;order:1}.split-pane-ios{--border:0.55px solid var(--ion-item-border-color,var(--ion-border-color,var(--ion-color-step-150,#c8c7cc)))}.split-pane-ios.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:var(--border);border-left:0}.split-pane-ios.split-pane-visible>.split-pane-side[side=end]{min-width:270px;max-width:28%;border-right:0;border-left:var(--border)}\"; },\n enumerable: true,\n configurable: true\n });\n return SplitPane;\n}());\nvar setPaneClass = function (el, isMain) {\n var toAdd;\n var toRemove;\n if (isMain) {\n toAdd = SPLIT_PANE_MAIN;\n toRemove = SPLIT_PANE_SIDE;\n }\n else {\n toAdd = SPLIT_PANE_SIDE;\n toRemove = SPLIT_PANE_MAIN;\n }\n var classList = el.classList;\n classList.add(toAdd);\n classList.remove(toRemove);\n};\nexport { SplitPane as ion_split_pane };\n","import { r as registerInstance, d as createEvent, c as getIonMode, e as getElement, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nvar SPLIT_PANE_MAIN = 'split-pane-main';\nvar SPLIT_PANE_SIDE = 'split-pane-side';\nvar QUERY = {\n 'xs': '(min-width: 0px)',\n 'sm': '(min-width: 576px)',\n 'md': '(min-width: 768px)',\n 'lg': '(min-width: 992px)',\n 'xl': '(min-width: 1200px)',\n 'never': ''\n};\nvar SplitPane = /** @class */ (function () {\n function SplitPane(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * If `true`, the split pane will be hidden.\n */\n this.disabled = false;\n /**\n * When the split-pane should be shown.\n * Can be a CSS media query expression, or a shortcut expression.\n * Can also be a boolean expression.\n */\n this.when = QUERY['lg'];\n this.ionSplitPaneVisible = createEvent(this, \"ionSplitPaneVisible\", 7);\n }\n SplitPane.prototype.visibleChanged = function (visible) {\n var detail = { visible: visible, isPane: this.isPane.bind(this) };\n this.ionSplitPaneVisible.emit(detail);\n };\n SplitPane.prototype.componentDidLoad = function () {\n this.styleChildren();\n this.updateState();\n };\n SplitPane.prototype.componentDidUnload = function () {\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n };\n SplitPane.prototype.updateState = function () {\n var _this = this;\n if (this.rmL) {\n this.rmL();\n this.rmL = undefined;\n }\n // Check if the split-pane is disabled\n if (this.disabled) {\n this.visible = false;\n return;\n }\n // When query is a boolean\n var query = this.when;\n if (typeof query === 'boolean') {\n this.visible = query;\n return;\n }\n // When query is a string, let's find first if it is a shortcut\n var mediaQuery = QUERY[query] || query;\n // Media query is empty or null, we hide it\n if (mediaQuery.length === 0) {\n this.visible = false;\n return;\n }\n if (window.matchMedia) {\n // Listen on media query\n var callback_1 = function (q) {\n _this.visible = q.matches;\n };\n var mediaList_1 = window.matchMedia(mediaQuery);\n mediaList_1.addListener(callback_1);\n this.rmL = function () { return mediaList_1.removeListener(callback_1); };\n this.visible = mediaList_1.matches;\n }\n };\n SplitPane.prototype.isPane = function (element) {\n if (!this.visible) {\n return false;\n }\n return element.parentElement === this.el\n && element.classList.contains(SPLIT_PANE_SIDE);\n };\n SplitPane.prototype.styleChildren = function () {\n var contentId = this.contentId;\n var children = this.el.children;\n var nu = this.el.childElementCount;\n var foundMain = false;\n for (var i = 0; i < nu; i++) {\n var child = children[i];\n var isMain = contentId !== undefined ? child.id === contentId : child.hasAttribute('main');\n if (isMain) {\n if (foundMain) {\n console.warn('split pane cannot have more than one main node');\n return;\n }\n foundMain = true;\n }\n setPaneClass(child, isMain);\n }\n if (!foundMain) {\n console.warn('split pane does not have a specified main node');\n }\n };\n SplitPane.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"split-pane-\" + mode] = true,\n _a['split-pane-visible'] = this.visible,\n _a)\n };\n };\n Object.defineProperty(SplitPane.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SplitPane, \"watchers\", {\n get: function () {\n return {\n \"visible\": [\"visibleChanged\"],\n \"disabled\": [\"updateState\"],\n \"when\": [\"updateState\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n SplitPane.prototype.render = function () { return h(Host, this.hostData()); };\n Object.defineProperty(SplitPane, \"style\", {\n get: function () { return \"ion-split-pane{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}.split-pane-visible>.split-pane-main,.split-pane-visible>.split-pane-side{left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none!important;box-shadow:none!important;z-index:0}.split-pane-visible>.split-pane-side:not(ion-menu),.split-pane-visible>ion-menu.split-pane-side.menu-enabled{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.split-pane-side:not(ion-menu){display:none}.split-pane-visible>.split-pane-side{-ms-flex-order:-1;order:-1}.split-pane-visible>.split-pane-side[side=end]{-ms-flex-order:1;order:1}.split-pane-md{--border:1px solid var(--ion-item-border-color,var(--ion-border-color,var(--ion-color-step-150,rgba(0,0,0,0.13))))}.split-pane-md.split-pane-visible>.split-pane-side{min-width:270px;max-width:28%;border-right:var(--border);border-left:0}.split-pane-md.split-pane-visible>.split-pane-side[side=end]{min-width:270px;max-width:28%;border-right:0;border-left:var(--border)}\"; },\n enumerable: true,\n configurable: true\n });\n return SplitPane;\n}());\nvar setPaneClass = function (el, isMain) {\n var toAdd;\n var toRemove;\n if (isMain) {\n toAdd = SPLIT_PANE_MAIN;\n toRemove = SPLIT_PANE_SIDE;\n }\n else {\n toAdd = SPLIT_PANE_SIDE;\n toRemove = SPLIT_PANE_MAIN;\n }\n var classList = el.classList;\n classList.add(toAdd);\n classList.remove(toRemove);\n};\nexport { SplitPane as ion_split_pane };\n","import { r as registerInstance, c as getIonMode, h, H as Host } from './chunk-09ec7fc0.js';\nimport './chunk-1074393c.js';\nimport { c as createColorClasses } from './chunk-ba834eff.js';\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nvar Text = /** @class */ (function () {\n function Text(hostRef) {\n registerInstance(this, hostRef);\n }\n Text.prototype.hostData = function () {\n var _a;\n var mode = getIonMode(this);\n return {\n class: Object.assign({}, createColorClasses(this.color), (_a = {}, _a[mode] = true, _a))\n };\n };\n Text.prototype.__stencil_render = function () {\n return h(\"slot\", null);\n };\n Text.prototype.render = function () { return h(Host, this.hostData(), this.__stencil_render()); };\n Object.defineProperty(Text, \"style\", {\n get: function () { return \":host(.ion-color){color:var(--ion-color-base)}\"; },\n enumerable: true,\n configurable: true\n });\n return Text;\n}());\nexport { Text as ion_text };\n"],"sourceRoot":""}