{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-toast-ios.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","position","baseAnimation","wrapperAnimation","hostEl","host","wrapperEl","addElement","fromTo","topPosition","Math","floor","clientHeight","style","top","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","bottom","mdLeaveAnimation","Toast","class_1","prototype","present","_this","label","sent","durationTimeout","setTimeout","dismiss","data","role","clearTimeout","onDidDismiss","onWillDismiss","getButtons","buttons","b","text","showCloseButton","closeButtonText","handler","buttonClick","button","callButtonHandler","Promise","resolve","e_1","trys","console","error","renderButtons","side","mode","buttonGroupsClasses","class","type","buttonClass","tabIndex","onClick","icon","slot","render","_b","wrapperClass","allButtons","startButtons","endButtons","zIndex","overlayIndex","Object","assign","cssClass","translucent","header","message","innerHTML","defineProperty","get","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","nodeType","i","attributes","attribute","item","attributeName","name","allowedAttributes","includes","toLowerCase","attributeValue","value","removeAttribute","children","childNodes"],"mappings":"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","file":"js/chunk-99349a2c.fc6b2233.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 './config-3c7f3790.js';\nimport './helpers-46f4a262.js';\nimport { c as createAnimation } from './animation-af478fe9.js';\nimport { d as prepareOverlay, e as present, f as dismiss, g as eventMethod, i as isCancel, s as safeCall } from './overlays-10640d86.js';\nimport { g as getClassMap, c as createColorClasses } from './theme-18cbe2cc.js';\nimport { s as sanitizeDOMString } from './index-3476b023.js';\n/**\n * iOS Toast Enter Animation\n */\nvar iosEnterAnimation = function (baseEl, position) {\n var baseAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n var hostEl = baseEl.host || baseEl;\n var wrapperEl = baseEl.querySelector('.toast-wrapper');\n var bottom = \"calc(-10px - var(--ion-safe-area-bottom, 0px))\";\n var top = \"calc(10px + var(--ion-safe-area-top, 0px))\";\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperAnimation.fromTo('transform', 'translateY(-100%)', \"translateY(\" + top + \")\");\n break;\n case 'middle':\n var topPosition = Math.floor(hostEl.clientHeight / 2 - wrapperEl.clientHeight / 2);\n wrapperEl.style.top = topPosition + \"px\";\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n default:\n wrapperAnimation.fromTo('transform', 'translateY(100%)', \"translateY(\" + bottom + \")\");\n break;\n }\n return baseAnimation\n .addElement(hostEl)\n .easing('cubic-bezier(.155,1.105,.295,1.12)')\n .duration(400)\n .addAnimation(wrapperAnimation);\n};\n/**\n * iOS Toast Leave Animation\n */\nvar iosLeaveAnimation = function (baseEl, position) {\n var baseAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n var hostEl = baseEl.host || baseEl;\n var wrapperEl = baseEl.querySelector('.toast-wrapper');\n var bottom = \"calc(-10px - var(--ion-safe-area-bottom, 0px))\";\n var top = \"calc(10px + var(--ion-safe-area-top, 0px))\";\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperAnimation.fromTo('transform', \"translateY(\" + top + \")\", 'translateY(-100%)');\n break;\n case 'middle':\n wrapperAnimation.fromTo('opacity', 0.99, 0);\n break;\n default:\n wrapperAnimation.fromTo('transform', \"translateY(\" + bottom + \")\", 'translateY(100%)');\n break;\n }\n return baseAnimation\n .addElement(hostEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(300)\n .addAnimation(wrapperAnimation);\n};\n/**\n * MD Toast Enter Animation\n */\nvar mdEnterAnimation = function (baseEl, position) {\n var baseAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n var hostEl = baseEl.host || baseEl;\n var wrapperEl = baseEl.querySelector('.toast-wrapper');\n var bottom = \"calc(8px + var(--ion-safe-area-bottom, 0px))\";\n var top = \"calc(8px + var(--ion-safe-area-top, 0px))\";\n wrapperAnimation.addElement(wrapperEl);\n switch (position) {\n case 'top':\n wrapperEl.style.top = top;\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n case 'middle':\n var topPosition = Math.floor(hostEl.clientHeight / 2 - wrapperEl.clientHeight / 2);\n wrapperEl.style.top = topPosition + \"px\";\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n default:\n wrapperEl.style.bottom = bottom;\n wrapperAnimation.fromTo('opacity', 0.01, 1);\n break;\n }\n return baseAnimation\n .addElement(hostEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(400)\n .addAnimation(wrapperAnimation);\n};\n/**\n * md Toast Leave Animation\n */\nvar mdLeaveAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n var hostEl = baseEl.host || baseEl;\n var wrapperEl = baseEl.querySelector('.toast-wrapper');\n wrapperAnimation\n .addElement(wrapperEl)\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(hostEl)\n .easing('cubic-bezier(.36,.66,.04,1)')\n .duration(300)\n .addAnimation(wrapperAnimation);\n};\nvar Toast = /** @class */ (function () {\n function class_1(hostRef) {\n registerInstance(this, hostRef);\n this.presented = false;\n this.mode = getIonMode(this);\n /**\n * How many milliseconds to wait before hiding the toast. By default, it will show\n * until `dismiss()` is called.\n */\n this.duration = 0;\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = false;\n /**\n * The position of the toast on the screen.\n */\n this.position = 'bottom';\n /**\n * @deprecated Use `buttons` instead. If `true`, the close button will be displayed.\n */\n this.showCloseButton = false;\n /**\n * If `true`, the toast 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 toast will animate.\n */\n this.animated = true;\n prepareOverlay(this.el);\n this.didPresent = createEvent(this, \"ionToastDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionToastWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionToastWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionToastDidDismiss\", 7);\n }\n /**\n * Present the toast 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, 'toastEnter', iosEnterAnimation, mdEnterAnimation, this.position)];\n case 1:\n _a.sent();\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(function () { return _this.dismiss(undefined, 'timeout'); }, this.duration);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Dismiss the toast 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 toast.\n * This can be useful in a button handler for determining which button was\n * clicked to dismiss the toast.\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, 'toastLeave', iosLeaveAnimation, mdLeaveAnimation, this.position);\n };\n /**\n * Returns a promise that resolves when the toast did dismiss.\n */\n class_1.prototype.onDidDismiss = function () {\n return eventMethod(this.el, 'ionToastDidDismiss');\n };\n /**\n * Returns a promise that resolves when the toast will dismiss.\n */\n class_1.prototype.onWillDismiss = function () {\n return eventMethod(this.el, 'ionToastWillDismiss');\n };\n class_1.prototype.getButtons = function () {\n var _this = this;\n var buttons = this.buttons\n ? this.buttons.map(function (b) {\n return (typeof b === 'string')\n ? { text: b }\n : b;\n })\n : [];\n // tslint:disable-next-line: deprecation\n if (this.showCloseButton) {\n buttons.push({\n // tslint:disable-next-line: deprecation\n text: this.closeButtonText || 'Close',\n handler: function () { return _this.dismiss(undefined, 'cancel'); }\n });\n }\n return buttons;\n };\n class_1.prototype.buttonClick = function (button) {\n return __awaiter(this, void 0, void 0, function () {\n var role, shouldDismiss;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n role = button.role;\n if (isCancel(role)) {\n return [2 /*return*/, this.dismiss(undefined, role)];\n }\n return [4 /*yield*/, this.callButtonHandler(button)];\n case 1:\n shouldDismiss = _a.sent();\n if (shouldDismiss) {\n return [2 /*return*/, this.dismiss(undefined, button.role)];\n }\n return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n class_1.prototype.callButtonHandler = function (button) {\n return __awaiter(this, void 0, void 0, function () {\n var rtn, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(button && button.handler)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, safeCall(button.handler)];\n case 2:\n rtn = _a.sent();\n if (rtn === false) {\n // if the return value of the handler is false then do not dismiss\n return [2 /*return*/, false];\n }\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n console.error(e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, true];\n }\n });\n });\n };\n class_1.prototype.renderButtons = function (buttons, side) {\n var _a;\n var _this = this;\n if (buttons.length === 0) {\n return;\n }\n var mode = getIonMode(this);\n var buttonGroupsClasses = (_a = {\n 'toast-button-group': true\n },\n _a[\"toast-button-group-\" + side] = true,\n _a);\n return (h(\"div\", { class: buttonGroupsClasses }, buttons.map(function (b) { return h(\"button\", { type: \"button\", class: buttonClass(b), tabIndex: 0, onClick: function () { return _this.buttonClick(b); } }, h(\"div\", { class: \"toast-button-inner\" }, b.icon &&\n h(\"ion-icon\", { icon: b.icon, slot: b.text === undefined ? 'icon-only' : undefined, class: \"toast-icon\" }), b.text), mode === 'md' && h(\"ion-ripple-effect\", { type: b.icon !== undefined && b.text === undefined ? 'unbounded' : 'bounded' })); })));\n };\n class_1.prototype.render = function () {\n var _a, _b;\n var allButtons = this.getButtons();\n var startButtons = allButtons.filter(function (b) { return b.side === 'start'; });\n var endButtons = allButtons.filter(function (b) { return b.side !== 'start'; });\n var mode = getIonMode(this);\n var wrapperClass = (_a = {\n 'toast-wrapper': true\n },\n _a[\"toast-\" + this.position] = true,\n _a);\n return (h(Host, { style: {\n zIndex: \"\" + (60000 + this.overlayIndex),\n }, class: Object.assign(Object.assign(Object.assign((_b = {}, _b[mode] = true, _b), createColorClasses(this.color)), getClassMap(this.cssClass)), { 'toast-translucent': this.translucent }) }, h(\"div\", { class: wrapperClass }, h(\"div\", { class: \"toast-container\" }, this.renderButtons(startButtons, 'start'), h(\"div\", { class: \"toast-content\" }, this.header !== undefined &&\n h(\"div\", { class: \"toast-header\" }, this.header), this.message !== undefined &&\n h(\"div\", { class: \"toast-message\", innerHTML: sanitizeDOMString(this.message) })), this.renderButtons(endButtons, 'end')))));\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 \":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;left:0;top:0;display:block;position:absolute;width:100%;height:100%;color:var(--color);font-family:var(--ion-font-family,inherit);contain:strict;z-index:1001;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);left:var(--start);right:var(--end);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}:host-context([dir=rtl]) .toast-wrapper,[dir=rtl] .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}.toast-container{-ms-flex-align:center;align-items:center;pointer-events:auto;contain:content}.toast-container,.toast-content{display:-ms-flexbox;display:flex}.toast-content{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.toast-message{-ms-flex:1;flex:1;white-space:pre-wrap}.toast-button-group{display:-ms-flexbox;display:flex}.toast-button{outline:none;color:var(--button-color);z-index:0}.toast-icon{font-size:1.4em}.toast-button-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}\\@media (any-hover:hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-50,#f2f2f2);--border-radius:14px;--button-color:var(--ion-color-primary,#3880ff);--color:var(--ion-color-step-850,#262626);--max-width:700px;--start:10px;--end:10px;font-size:14px}.toast-wrapper{margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.toast-wrapper{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}\\@supports ((-webkit-backdrop-filter:blur(0)) or (backdrop-filter:blur(0))){:host(.toast-translucent) .toast-wrapper{background:rgba(var(--ion-background-color-rgb,255,255,255),.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.toast-wrapper.toast-top{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);top:0}.toast-wrapper.toast-middle{opacity:.01}.toast-wrapper.toast-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);bottom:0}.toast-content{padding-left:15px;padding-right:15px;padding-top:15px;padding-bottom:15px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.toast-content{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-header{margin-bottom:2px;font-weight:500}.toast-button{padding-left:15px;padding-right:15px;padding-top:10px;padding-bottom:10px;height:44px;-webkit-transition:background-color,opacity .1s linear;transition:background-color,opacity .1s linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:17px;font-weight:500;overflow:hidden}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.toast-button{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-button.activated{opacity:.4}\\@media (any-hover:hover){.toast-button:hover{opacity:.6}}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar buttonClass = function (button) {\n var _a;\n return Object.assign((_a = { 'toast-button': true, 'toast-button-icon-only': button.icon !== undefined && button.text === undefined }, _a[\"toast-button-\" + button.role] = button.role !== undefined, _a['ion-focusable'] = true, _a['ion-activatable'] = true, _a), getClassMap(button.cssClass));\n};\nexport { Toast as ion_toast };\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":""}