{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-loading-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/index-3476b023.js"],"names":["hostContext","selector","el","closest","createColorClasses","color","_a","length","undefined","getClassMap","classes","map","Array","isArray","split","filter","c","trim","forEach","SCHEME","openURL","url","ev","direction","router","this","test","document","querySelector","preventDefault","push","iosEnterAnimation","baseEl","baseAnimation","backdropAnimation","wrapperAnimation","addElement","fromTo","keyframes","offset","opacity","transform","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","mdLeaveAnimation","Loading","class_1","prototype","componentWillLoad","mode","spinner","get","present","_this","label","sent","durationTimeout","setTimeout","dismiss","data","role","clearTimeout","onDidDismiss","onWillDismiss","render","message","onIonBackdropTap","onBackdropTap","style","zIndex","overlayIndex","class","Object","assign","cssClass","translucent","visible","showBackdrop","tappable","backdropDismiss","name","innerHTML","defineProperty","enumerable","configurable","hostRef","presented","keyboardClose","animated","didPresent","willPresent","willDismiss","didDismiss","sanitizeDOMString","untrustedString","documentFragment_1","createDocumentFragment","workingDiv","createElement","dfChildren","appendChild","blockedTags","blockedTag","getElementsToRemove","querySelectorAll","elementIndex","element","childElements","parentNode","removeChild","getElementChildren","childIndex","sanitizeElement","fragmentDiv","getInnerDiv","err","console","error","nodeType","i","attributes","attribute","item","attributeName","allowedAttributes","includes","toLowerCase","attributeValue","value","removeAttribute","children","childNodes"],"mappings":"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","file":"js/chunk-76ed02b0.2c34b2b1.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nvar hostContext = function (selector, el) {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nvar createColorClasses = function (color) {\n var _a;\n return (typeof color === 'string' && color.length > 0) ? (_a = {\n 'ion-color': true\n },\n _a[\"ion-color-\" + color] = true,\n _a) : undefined;\n};\nvar getClassList = function (classes) {\n if (classes !== undefined) {\n var array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter(function (c) { return c != null; })\n .map(function (c) { return c.trim(); })\n .filter(function (c) { return c !== ''; });\n }\n return [];\n};\nvar getClassMap = function (classes) {\n var map = {};\n getClassList(classes).forEach(function (c) { return map[c] = true; });\n return map;\n};\nvar SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nvar openURL = function (url, ev, direction) { return __awaiter(void 0, void 0, void 0, function () {\n var router;\n return __generator(this, function (_a) {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return [2 /*return*/, router.push(url, direction)];\n }\n }\n return [2 /*return*/, false];\n });\n}); };\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, c as getIonMode, d as createEvent, h, H as Host, e as getElement } from './core-feeeff0d.js';\nimport { b as config } from './config-3c7f3790.js';\nimport './helpers-46f4a262.js';\nimport { c as createAnimation } from './animation-af478fe9.js';\nimport { B as BACKDROP, d as prepareOverlay, e as present, f as dismiss, g as eventMethod } from './overlays-10640d86.js';\nimport { g as getClassMap } from './theme-18cbe2cc.js';\nimport { s as sanitizeDOMString } from './index-3476b023.js';\n/**\n * iOS Loading Enter Animation\n */\nvar iosEnterAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 0.3);\n wrapperAnimation\n .addElement(baseEl.querySelector('.loading-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.01, transform: 'scale(1.1)' },\n { offset: 1, opacity: 1, transform: 'scale(1)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n/**\n * iOS Loading Leave Animation\n */\nvar iosLeaveAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.3, 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.loading-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.99, transform: 'scale(1)' },\n { offset: 1, opacity: 0, transform: 'scale(0.9)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n/**\n * Md Loading Enter Animation\n */\nvar mdEnterAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 0.32);\n wrapperAnimation\n .addElement(baseEl.querySelector('.loading-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.01, transform: 'scale(1.1)' },\n { offset: 1, opacity: 1, transform: 'scale(1)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n/**\n * Md Loading Leave Animation\n */\nvar mdLeaveAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.32, 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.loading-wrapper'))\n .keyframes([\n { offset: 0, opacity: 0.99, transform: 'scale(1)' },\n { offset: 1, opacity: 0, transform: 'scale(0.9)' }\n ]);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease-in-out')\n .duration(200)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\nvar Loading = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.presented = false;\n this.mode = getIonMode(this);\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * Number of milliseconds to wait before dismissing the loading indicator.\n */\n this.duration = 0;\n /**\n * If `true`, the loading indicator will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = false;\n /**\n * If `true`, a backdrop will be displayed behind the loading indicator.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the loading indicator will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n */\n this.translucent = false;\n /**\n * If `true`, the loading indicator will animate.\n */\n this.animated = true;\n this.onBackdropTap = function () {\n _this.dismiss(undefined, BACKDROP);\n };\n prepareOverlay(this.el);\n this.didPresent = createEvent(this, \"ionLoadingDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionLoadingWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionLoadingWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionLoadingDidDismiss\", 7);\n }\n class_1.prototype.componentWillLoad = function () {\n if (this.spinner === undefined) {\n var mode = getIonMode(this);\n this.spinner = config.get('loadingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'crescent'));\n }\n };\n /**\n * Present the loading overlay after it has been created.\n */\n class_1.prototype.present = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation, undefined)];\n case 1:\n _a.sent();\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(function () { return _this.dismiss(); }, this.duration + 10);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Dismiss the loading overlay after it has been presented.\n *\n * @param data Any data to emit in the dismiss events.\n * @param role The role of the element that is dismissing the loading.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the loading.\n * Some examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`.\n */\n class_1.prototype.dismiss = function (data, role) {\n if (this.durationTimeout) {\n clearTimeout(this.durationTimeout);\n }\n return dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation, mdLeaveAnimation);\n };\n /**\n * Returns a promise that resolves when the loading did dismiss.\n */\n class_1.prototype.onDidDismiss = function () {\n return eventMethod(this.el, 'ionLoadingDidDismiss');\n };\n /**\n * Returns a promise that resolves when the loading will dismiss.\n */\n class_1.prototype.onWillDismiss = function () {\n return eventMethod(this.el, 'ionLoadingWillDismiss');\n };\n class_1.prototype.render = function () {\n var _a;\n var _b = this, message = _b.message, spinner = _b.spinner;\n var mode = getIonMode(this);\n return (h(Host, { onIonBackdropTap: this.onBackdropTap, style: {\n zIndex: \"\" + (40000 + this.overlayIndex)\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), (_a = {}, _a[mode] = true, _a['loading-translucent'] = this.translucent, _a)) }, h(\"ion-backdrop\", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h(\"div\", { class: \"loading-wrapper\", role: \"dialog\" }, spinner && (h(\"div\", { class: \"loading-spinner\" }, h(\"ion-spinner\", { name: spinner }))), message && h(\"div\", { class: \"loading-content\", innerHTML: sanitizeDOMString(message) }))));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-family:var(--ion-font-family,inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);opacity:0;z-index:10}.spinner-bubbles.sc-ion-loading-md, .spinner-circles.sc-ion-loading-md, .spinner-crescent.sc-ion-loading-md, .spinner-dots.sc-ion-loading-md, .spinner-lines.sc-ion-loading-md, .spinner-lines-small.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50,#f2f2f2);--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary,#3880ff);color:var(--ion-color-step-850,#262626);font-size:14px}.loading-wrapper.sc-ion-loading-md{border-radius:2px;padding-left:24px;padding-right:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0,0,0,.4);box-shadow:0 16px 20px rgba(0,0,0,.4)}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.loading-wrapper.sc-ion-loading-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.loading-spinner.sc-ion-loading-md + .loading-content.sc-ion-loading-md{margin-left:16px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.loading-spinner.sc-ion-loading-md + .loading-content.sc-ion-loading-md{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nexport { Loading as ion_loading };\n","/**\n * Does a simple sanitization of all elements\n * in an untrusted string\n */\nvar sanitizeDOMString = function (untrustedString) {\n try {\n if (typeof untrustedString !== 'string' || untrustedString === '') {\n return untrustedString;\n }\n /**\n * Create a document fragment\n * separate from the main DOM,\n * create a div to do our work in\n */\n var documentFragment_1 = document.createDocumentFragment();\n var workingDiv = document.createElement('div');\n documentFragment_1.appendChild(workingDiv);\n workingDiv.innerHTML = untrustedString;\n /**\n * Remove any elements\n * that are blocked\n */\n blockedTags.forEach(function (blockedTag) {\n var getElementsToRemove = documentFragment_1.querySelectorAll(blockedTag);\n for (var elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {\n var element = getElementsToRemove[elementIndex];\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n else {\n documentFragment_1.removeChild(element);\n }\n /**\n * We still need to sanitize\n * the children of this element\n * as they are left behind\n */\n var childElements = getElementChildren(element);\n /* tslint:disable-next-line */\n for (var childIndex = 0; childIndex < childElements.length; childIndex++) {\n sanitizeElement(childElements[childIndex]);\n }\n }\n });\n /**\n * Go through remaining elements and remove\n * non-allowed attribs\n */\n // IE does not support .children on document fragments, only .childNodes\n var dfChildren = getElementChildren(documentFragment_1);\n /* tslint:disable-next-line */\n for (var childIndex = 0; childIndex < dfChildren.length; childIndex++) {\n sanitizeElement(dfChildren[childIndex]);\n }\n // Append document fragment to div\n var fragmentDiv = document.createElement('div');\n fragmentDiv.appendChild(documentFragment_1);\n // First child is always the div we did our work in\n var getInnerDiv = fragmentDiv.querySelector('div');\n return (getInnerDiv !== null) ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;\n }\n catch (err) {\n console.error(err);\n return '';\n }\n};\n/**\n * Clean up current element based on allowed attributes\n * and then recursively dig down into any child elements to\n * clean those up as well\n */\nvar sanitizeElement = function (element) {\n // IE uses childNodes, so ignore nodes that are not elements\n if (element.nodeType && element.nodeType !== 1) {\n return;\n }\n for (var i = element.attributes.length - 1; i >= 0; i--) {\n var attribute = element.attributes.item(i);\n var attributeName = attribute.name;\n // remove non-allowed attribs\n if (!allowedAttributes.includes(attributeName.toLowerCase())) {\n element.removeAttribute(attributeName);\n continue;\n }\n // clean up any allowed attribs\n // that attempt to do any JS funny-business\n var attributeValue = attribute.value;\n /* tslint:disable-next-line */\n if (attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) {\n element.removeAttribute(attributeName);\n }\n }\n /**\n * Sanitize any nested children\n */\n var childElements = getElementChildren(element);\n /* tslint:disable-next-line */\n for (var i = 0; i < childElements.length; i++) {\n sanitizeElement(childElements[i]);\n }\n};\n/**\n * IE doesn't always support .children\n * so we revert to .childNodes instead\n */\nvar getElementChildren = function (el) {\n return (el.children != null) ? el.children : el.childNodes;\n};\nvar allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];\nvar blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];\nexport { sanitizeDOMString as s };\n"],"sourceRoot":""}